| Table of Contents |
|---|
Мета створення та нормативні засади
Відповідно до:
...
- постанови КМУ від 10.05.2018 року № 432 “Про затвердження Порядку проведення електронних аукціонів для продажу об’єктів малої приватизації та визначення додаткових умов продажу”
...
- постанови КМУ від 20.05.2026 року № 632 "Про внесення змін до Порядку проведення електронних аукціонів для продажу об’єктів малої приватизації та визначення додаткових умов продажу"
доповнити розробити функціонал реєстру інформаційних повідомлень. В рамках Prozorro.Sale буде реалізовано сутністьІнформаційних повідомлень сутністю сompensation_announcement(JCS). Технічна назва сompensationAnnouncementSmallPrivatization
...
(Додати посилання)
Особливості
...
Інформаційних Повідомлень приватизації обʼєкта оренди з невідʼємними поліпшеннями
...
Створення та робота із Інформаційним Повідомленням
...
- При створенні Інформаційного Повідомлення має відбуватись перевірка, чи не задіяний пов'язаний Asset у інших сутностях Інформаційних Повідомлень, Пріоритетного Викупу, які перебувають на момент створення у активному стані, відповідно asset.status = pending.
- При створенні Інформаційного Повідомлення має відбуватись перевірка:
- якщо обраний для створення ІП Asset має assetItems.assetItemType== ‘asset’, то чи додані у Asset.documents.documentType == 'Illustration'. Створити Asset є можливість без документів illustration, але створити ІП із Asset, який не має таких документів - не має бути можливості.
- При створенні Інформаційного Повідомлення в ньому зберігається посилання на Об’єкт реєстру (announcement.relatedEntities.type == asset), в Об’єкт реєстру передається посилання на Інформаційне Повідомлення ;(в relatedEntities)
- Зміни полів та документів Об'єкта реєстру, зберігаються як окремі версії Об’єкта;
- Інформаційне Повідомлення має поле announcement.relatedEntities.archiveId - це версія Об’єкта реєстру, яка була останньою на момент створення Інформаційного Повідомлення.
- Гарантійний внесок та Гарантійний внесок чинного орендаря перераховується автоматично відповідно до до правил, якщо будь-які 2 попередні Процедури не відбулись з причини дискваліфікації учасників.
- Поле saleCondition автоматично генерується зі значенням "Так" без можливості редагування
- Поле Наявність переважного права у чинного орендаря автоматично генерується зі значенням "Ні" без можливості редагування (Поле обовʼязкове для ІП але не буде передаватись в Процедури)
- 2-а і 6-а Процедури можуть бути не створені в ланцюжку за виконання певних умов, які детально описані ніжче (2-,6-а Процедура в spec в такому випадку набувають статусу unpublished)
- Обов'язкові поля для заповнення при Публікації Announcement:
- всі три initialPropsвсі чотири initialProps.bankAccounts.accountType: guarantee, registrationFee, payment та currentTennant. improvementCompensation
- Інформація про орендаря (initialProps.currentTenants)
- Інформація про орендодавця (Заповнене заповнене ще на етапі Assetasset. Поле assetCustodian - Інформація про розпорядника)
- Інформація про договір оренди (initialProps.currentTenants.contract.*)
- дата укладання
- дата завершення
- строк дії
- місячна оренда плата
- площа що орендується
- Інформація про невідʼємні поліпшення (initialProps.currentTenants.essentialImprovements.*)
- вартість невідʼємних поліпшень
- висновок будівельної експертизи
- дата завершення невідʼємних поліпшень
- умови компенсації
- рішення про згоду на невідʼємні поліпшення
- наказ про затвердження висновку про вартість об’єкта приватизації
- Додаткові документи
- висновок будівельної експертизи
...
Створення та робота із Процедурою
...
- При авто-створенні Першої процедури (tenderAttempts = 1) поля і документи копіюються із asset та announcement (детально описано в ТЗ Процедур в розділі "Струкрута даних")
- При авто-створенні Другої і наступних процедур (tenderAttempts >1) поля мають заповнюватись згідно логіки, яка описана в ТЗ процедури (якщо поле\модель з полями можуть редагуватися в процедурі, то при авто-публікації наступної процедури, в межах одного ланцюжка, значення полів потірбно взяти із попередньої процедури, а не із asset\announcement) (детально описано в ТЗ Процедур в розділі "Струкрута даних")
- В Інформаційному Повідомленні зберігаються ідентифікатори ПроцедурВ Інформаційному Повідомленні зберігаються ідентифікатори Процедур, які оголошені по цьому Об'єкту реєстру МП (producedEntities.type == procedure);
- Ланцюжок Процедур складається з послідовності аукціонів:
- англійський аукціон
- англійський аукціон (за умови якщо попередній аукціон не відбувся з причини дискваліфікації учасників) або перехід на наступний етап
- англійський аукціон
- англійський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП
- голландський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП
- голландський аукціон де стартова вартість знижена на 50% від початкової ціни зазначеної в ІП (за умови якщо попередній аукціон не відбувся з причини дискваліфікації учасників)
...
Виконання умов приватизації (контрактинг\execution)
...
- При створенні сутності Execution (Контрактинг) в ньому зберігається посилання на пов'язане Інформаційне Повідомлення (execution.relatedEntities.type == execution), а у пов'язаного Інформаційного Повідомлення має створитись посилання на сутність Контрактингу (announcement.relatedEntities.type == execution).
- Інформаційне повідомлення перебуває у статусі active_contracting протягом всього періоду виконання умов приватизації і автоматично має змінити статус з active_contracting на sold як тільки пов'язана сутність Execution набула успішного Термінального статусу execution.status == sold.
Структура даних
...
| title | Модель даних |
|---|
...
автоматично підтягується з останнього Інформаційного повідомлення з однаковим asset
minLength: 1
example: JСS000-UA-YYYYMMDD-00000
...
Автоматично заповнюється з related asset.title, але може редагуватися.
minLength: 1
...
Автоматично заповнюється з related asset.description, але може редагуватися
minLength: 1
...
Ідентифікатор, що відображається тільки в документі digitalSignature та використовується
для відображення зв'язку між цифровим підписом та документом
example: 5e300ec4080b60d45dc28bb8
...
default: announcement
Enum: [announcement ]
...
Enum: [ notice, evaluationCriteria, contractProforma, clarifications, redemptionPreContract, сonstructionExpertise, digitalSignature ]
...
x-default: now
...
x-default: now
...
Чим менше значення поля, тим вище документ буде при відображенні на майданчиках.
Основним документом вважається документ з мінімальним значенням індексу.
Якщо параметр не зазначений, документи будуть виводитись останніми у переліку.
Якщо кілька документів мають однакове значення параметру, порядок сортування буде залежати від dateModified,
Пріоритет у документів доданих раніше.
Класифікатори та словники
Інформаційне Повідомлення не має полів Класифікаторів. ІП має посилання (в relatedEntities) на пов’язаний Об’єкт реєстру МП (asset).
Логіка роботи з Класифікаторами описана у ТЗ по Об’єктам реєстру МП: Посилання на ТЗ по Об'єкта реєстру МП
Статуси Інформаційного Повідомлення
Конфігураційний файл з періодами и статусами - Треба створити новий для даного ІП
Модель статусів Інформаційного Повідомлення малої приватизації
| draw.io Diagram | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- Опубліковано Інформаційне Повідомлення
- Технічний ідентифікатор: pending
- Функціонал Організатора:
- Редагування полів опублікованого Інформаційного Повідомлення протягом 48 годин (rectificationPeriod). Для збереження змін потрібно завантажити документ announcement.documents.documentType: clarifications
- Редагування полів пов’язаного Об’єкту реєстру (asset.status: active_rectification) протягом announcement.rectificationPeriod
- Завантаження або заміна документів Інформаційного Повідомлення та Об’єкта реєстру протягом announcement.rectificationPeriod
- Розформування Інформаційного Повідомлення (можна без завантаження доп документів)
- Умови набуття статусу: натискання Організатором кнопки “Опублікувати Інформаційне Повідомлення”. ЦБД валідує всі обов’язкові поля та документи та публікує Інформаційне Повідомлення у статусі announcement.status: pending
- Умови зміни статусу:
- Автоматично після завершення announcement.rectificationPeriod (48 годин) та створення Першої Процедури з ланцюжка статус ІП зміниться з pending на active_auction
- Ручна дія. Натискання кнопки "Розформувати Інформаційне Повідомлення" змінить статус ІП з pending → deleted
- Опис: після набуття статусу pending Інформаційне Повідомлення стає доступним для всіх Спостерігачів
- Коментар:
- При публікації Інформаційного Повідомлення у ЦБД у Об’єкті реєстру (asset) мають фіксуватись параметри створеного обʼєкта: url, _id, objectId з типом asset.relatedEntities.type == announcement
- Одночасно у Об’єкта МП може бути тільки одне Інформаційне Повідомлення у статусі pending/active_auction/active_contracting/sold та необмежена кількість у статусах deleted та dissolved
Проведення Аукціону
- Технічний ідентифікатор: active_auction
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу: - По настанню announcement.rectificationPeriod.endDate автоматично створюється Перша Процедура із ланцюжка і Інформаційне Повідомлення набуває статусу active_auction.
- Умови зміни статусу:
- Статус ІП змінюється з active_auction на active_contracting автоматично після зміни статусу будь-якої Процедури з ланцюжка на complete;
- Статус ІП змінюється з active_auction на dissolved автоматично після зміни статусу Останньої Процедури із ланцюжка на unsuccessful;
- Статус ІП змінюється з active_auction на deleted автоматично після зміни статусу будь-якої Процедури із ланцюжка на cancelled.
- Опис: Організатор не взаємодіє з ІП. Всі дії відбуваються у активній Процедурі.
- Коментар: Інформаційне Повідомлення перебуває у статусі active_auction протягом всього періоду аукціонів. У ланцюжку ІП анонсується 6 Процедур. Але друга та четверта може згенеруватися автоматично за умови, що перший або пʼятий Аукціон завершився з причини дискваліфікації всіх учасників.
Виконання умов приватизації
- Технічний ідентифікатор: active_contracting
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу: статус ІП змінюється на active_contracting автоматично після набуття статусу complete будь-якої Процедури з ланцюжка ІП.
- Умови зміни статусу:
- Автоматично, як тільки сутність execution набуває статусу execution.status: sold, статус Інформаційного Повідомлення набуває статусу sold;
- Автоматично, як тільки сутність execution набуває статусу execution.status: deleted, статус Інформаційного Повідомлення набуває статусу deleted;
- Опис: Організатор не взаємодіє з ІП. Всі дії відбуваються у сутності Контрактинг (execution).
Об'єкт продано
- Технічний ідентифікатор: sold
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу: Автоматично, як тільки сутність execution набуває статусу execution.status: complete.
- Умови зміни статусу: термінальний статус
- Опис: Приватизація успішно завершена, умови приватизації виконані.
Об’єкт не продано
- Технічний ідентифікатор: dissolved
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу:
- Автоматично, коли остання Процедура із ланцюжка Інформаційних Повідомлень набула статусу procedure.status: unsuccessful;
- Умови зміни статусу: термінальний статус
- Опис: статус відповідає Інформаційному Повідомленню у якому продаж не відбувся. При набутті Інформаційним Повідомленням статусу dissolved статус Об'єкта реєстру автоматично змінюється на pending;
Інформаційне Повідомлення розформовано
- Технічний ідентифікатор: deleted
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу:
- Ручная дія. Натискання кнопки "Розформувати Інформаційне Повідомлення". Дія можлива до моменту створення Першої Процедури у ланцюжку Інформаційного Повідомлення;
- Обовʼязкова дія - заповнення текстового поля "Причина скасування"(reason)
- Не обов'язкова дія - завантаження документу cancellations.documents.documentType: cancellationDetails;
- Автоматично, коли будь-яка Процедура із ланцюжка Інформаційних Повідомлень набула статусу procedure.status: cancelled;
- Автоматично, як тільки сутність Контрактингу (Execution) набула статусу Execution.status: deleted
- Ручная дія. Натискання кнопки "Розформувати Інформаційне Повідомлення". Дія можлива до моменту створення Першої Процедури у ланцюжку Інформаційного Повідомлення;
- Умови зміни статусу: термінальний статус
- Опис: статус відповідає розформованому Інформаційному Повідомленню. При набутті Інформаційним Повідомленням статусу deleted статус Об'єкта реєстру автоматично змінюється на pending;
Опис періодів
Період редагування інформаційного повідомлення: rectificationPeriod
- Статус Інформаційного Повідомлення: pending
- Умови формування дати початку та кінця періоду:
- Дата початку: може припадати на неробочий день, відповідає даті та часу публікації Інформаційного Повідомлення в ЦБД;
- Дата завершення: може припадати на неробочий день, завершується через 48 годин після публікації Інформаційного Повідомлення.
- Функціонал Організатора:
- Редагування полів Інформаційного Повідомлення та полів Об’єкта реєстру (перелік вказано нижче);
- Завантаження або заміна документів Інформаційного Повідомлення;
- Редагування полів Об'єкта реєстру;
- Завантаження нових документів до Об’єкта реєстру;
- Розформування Інформаційного Повідомлення;
Поля, які доступні для редагування протягом announcement.rectificationPeriod:
У Об’єкта реєстру МП (asset):
- title
- description
- documents[]
- ownershipType
- assetHolder та всі дочірні не технічні поля
- assetCustodian та всі дочірні не технічні поля
- items[] та всі дочірні не технічні поля
- presentationUrl
- presentationUrlEN
У Інформаційного Повідомлення (сompensationAnnouncement)
- title
- description
- documents[]
- initialProps та всі дочірні не технічні поля
- decisions
- extraSpecs[].auctionPeriod → startDate
- extraSpecs[].tenderPeriod → duration
- presentationUrl
- presentationUrlEN
Типи, опис документів та робота з ними
Під час публікації Інформаційного Повідомлення або під час періоду виправлення помилок (rectificationPeriod), окрім додавання нових документів або заміни раніше доданих документів безпосередньо у Інформаційне Повідомлення, доступна можливість додати нові або оновити існуючі документи Об'єкта реєстру МП (у asset).
Перелік документів Інформаційного повідомлення
| documentType | x-legalNameUa | x-legalNameEn | Обовʼязковість | Публічність | Опис |
|---|---|---|---|---|---|
| notice | Інформаційне повідомлення | Auction notice | Ні | Так | Інформаційне повідомлення про приватизацію об'єкта малої приватизації |
| evaluationCriteria | Рішення про затвердження умов продажу | Evaluation criteria | Ні | Так | Рішення аукціонної комісії про затвердження умов продажу |
| contractProforma | Проєкт договору | Contract proforma | Ні | Так | Документ містить умови договору |
| clarifications | Рішення про виправлення технічних помилок | Decision on correction of technical errors | Ні (обовʼязковий тільки в разі внесення змін під час rectificationPeriod) | Так | Рішення про виправлення технічних помилок, що були виявлені після публікації інформаційного повідомлення |
сonstructionExpertise | Висновок будівельної експертизи | Construction expertise conclusion | Так | Так | Висновок будівельної експертизи |
При скасуванні Інформаційного повідомлення | |||||
cancellations[].documents[].documentType: cancellationDetails | Рішення про скасування інформаційного повідомлення | The decision to cancel the announcement | Ні | Так | Рішення про скасування інформаційного повідомлення |
| Загальні документи | |||||
| digitalSignature | Цифровий підпис | Digital signature | Ні | Набуває значення документу з яким пов'язаний | Цифровий підпис |
Послідовність створення ланцюжка Процедур аукціонів
| draw.io Diagram | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Для продажу Об'єктів малої приватизації під час воєнного стану визначена наступна послідовність аукціонів та типи аукціонів:
- Перший аукціон - англійський
- Другий аукціон - англійський
- Третій аукціон - англійський
- Четвертий аукціон - англійський зі знижкою 50% від суми вказаної в ІП
- Пʼятий аукціон - голландський зі знижкою 50% від суми вказаної в ІП
- Шостий аукціон - голландський зі знижкою 50% від суми вказаної в ІП
Умови для створення наступної Процедури
Перша Процедура створюється автоматично по завершенню announcement.rectificationPeriod (як тільки наступає announcement.rectificationPeriod.endDate)
Друга (можлива), Третя, Четверта, Пʼята та Шоста (можлива) Процедури автоматично створюється одразу, якщо попередня Процедура набула статусу unsuccessful
- Особливості:
- 2-а Процедура створюється тільки у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful, при цьому:
- На етапі кваліфікації award-ів відбулася дискваліфікація переможців: 1й та 2й учасник (в разі його наявності) мають статус unsuccessful
- 2-а Процедура не створюється і одразу створюється 3-я Процедура у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful, при цьому:
- В 1-й Процедурі не було жодного учасника АБО учасник під час admissionPeriod перейшов в статус cancelled
- 6-а Процедура створюється тільки у випадку, коли 5-а Процедура перейшла в unsuccessful внаслідок дискваліфікації учасників з будь-якої причини. Тобто, якщо Процедура-5 має статус unsuccessful і у неї є хоч один 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: auctionPeriod startDate)
- Особливості:
- Дата аукціону визначається Організатором
- Час аукціону визначається ЦБД в період з 11:00 - 13:00 при автоматичному створенні Першої Процедури
- Перша Процедура буде буде створена автоматично, як тільки завершиться announcement.rectificationPeriod. Модуль Аукціону буде запущено у дату, яку вказав Організатор у Дата початку Першого аукціону та час визначений ЦБД при створенні процедури. У період між датою створення Першої Процедури і “Дата початку Першого аукціону” триває tenderPeriod Першої Процедури, який завершується о 20:00 дня, що передує дню “Дата початку Першого аукціону”.
- Період між створенням Першої Процедури і “Дата початку Першого аукціону” не може бути менше 4 робочих днів (auctionPeriod_startDate >= currentDate + 4 wd);
- Максимальна кількість днів між створенням Першої Процедури і “Дата початку Першого аукціону” 366 календарних днів.
- Друга та наступні Процедури створюються автоматично одразу, тільки якщо попередня Процедура із ланцюжка ІП набула статусу Procedure.status: unsuccessful
- Особливості:
Приклад: якщо Перша Процедура набула статусу Procedure.status: unsuccessful, то Друга, Третя, Четверта, Пʼята та Шоста Процедури (в залежності від виконання умов відповідно до кожної процедури) буде створена автоматично одразу.
- Період на подачу пропозицій (робочих днів) (extraSpecs[].periods.periodName: tenderPeriod duration)
- Особливості:
- Визначається Організатором
- Значення загальне для 2-*, 3-, 4-, 5-, 6-ї* Процедури із ланцюжка
- Період на подачу пропозицій - це tenderPeriod, який буде мати 2-*,3-,4-,5-, 6-ї*та Процедура
- ЦБД валідує тільки нижнє значення tenderPeriodDuration >= 3 р.д.
- ЦБД не валідує верхнє значення tenderPeriodDuration
- Якщо Дата початку Модулю Аукціону припадає на вихідний або святковий день, то Аукціон буде перенесений вперед на найближчий робочий день
- Технічна особливість: На інтерфейсі Майданчика при створенні ІП має бути одне поле, в якому Організатор може вказати тривалість "Періоду прийняття пропозицій". Організатор вказує кількість в днях один раз на інтерфейсі.
- Але коли Майданчик передає запит на ЦБД, то має це значення закопіювати і передати в пʼяти обʼєктах extraSpecs:
- 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
- Особливості:
Приклади
Приклад 1:
- 1-а Процедура набула статусу Procedure.status: unsuccessful у п’ятницю 15.05.2026 де було дискваліфіковано всіх учасників які приймали участь в кваліфікації
- 2-а Процедура буде автоматично створена у п'ятницю 15.05.2026 одразу.
- У 2-ї Процедури розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- У 3-,4-,5-ї Процедури розпочинається tenderPeriod, за умови переходу попередньої опублікованої Процедури в статус unsuccessful, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- 5-а Процедура набула статусу Procedure.status: unsuccessful з причини:
- Не було учасників в 5-й Процедурі
- 6-а Процедура не публікується
- ІП набуває статусу dissolved
- В 5-й Процедурі було дискваліфіковано всіх учасників які приймали участь в кваліфікації:
- 6-а Процедура публікується і розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується. Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- ІП не змінює статус і залишається в active_auction
- Не було учасників в 5-й Процедурі
Приклад 2:
- 1-а Процедура набула статусу Procedure.status: unsuccessful у п’ятницю 15.05.2026 де не було учасників в Процедурі
- 2-а Процедура не публікується
- 3-я Процедура автоматично створюється у п'ятницю 15.05.2026 одразу після переходу 1-ї Процедури в статус unsuccessful
- У 3-ї Процедури розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- У 4-,5-ї Процедури розпочинається tenderPeriod, за умови переходу попередньої опублікованої Процедури в статус unsuccessful, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- 5-а Процедура набула статусу Procedure.status: unsuccessful з причини:
- Не було учасників в 5-й Процедурі
- 6-а Процедура не публікується
- ІП набуває статусу dissolved
- В 5-й Процедурі було дискваліфіковано всіх учасників які приймали участь в кваліфікації
- 6-а Процедура публікується і розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується. Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- ІП не змінює статус і залишається в active_auction
- Не було учасників в 5-й Процедурі
Стартова ціна
Для аукціонів з продажу об’єктів малої приватизації під час воєнного стану визначені наступні розміри стартової ціни:
- Перший аукціон - 100% від суми вказаної в ІП
- Другий аукціон - 100% від суми вказаної в ІП
- Третій аукціон - 100% від суми вказаної в ІП
- Четвертий аукціон - 50% стартової ціни вказаної в ІП
- Пʼятий аукціон - 50% стартової ціни вказаної в ІП
- Шостий аукціон - 50% стартової ціни вказаної в ІП
Організатор задає значення стартової ціни першого аукціону при публікації ІП. Стартові ціни для наступних аукціонів розраховуються автоматично без можливості редагування. (Для стартової ціни допускається тільки валюта - ГРН)
Автоматичний перерахунок гарантійних внесків
При створенні ІП у запиті на ЦБД мають передаватись заповнене поле guarantee. currentTenantGuaranteeFee за замовчуванням дорівнює guarantee - це заповнює ЦБД. Після публікації ІП Організатор має право редагувати поле currentTenantGuaranteeFee.
На стороні ЦБД валідація лише на "обов'язковість заповнення".
На майданчику можна пропонувати Організатору автозаповнення полей guarantee та currentTenantGuaranteeFee, що == 20% стартової ціни поточного аукціону
Протягом 48 годин, доки у ІП триває rectificationPeriod поля guarantee та currentTenantGuaranteeFee можна редагувати.
Для першої процедури у ланцюжку ГВ завжди копіюється із announcement.initialProps.guarantee та announcement.initialProps.currentTenantGuaranteeFee.
Для другої і наступних Процедур у ланцюжку, якщо будь які попередні два аукціона* з продажу цього Об’єкта не відбулись (статус процедури “unsuccessful”) з наступних причин дискваліфікації учасників (статус аварду “unsuccessful”):
- Не відповідає вимогам статті 8 ЗУ "Про приватизацію державного і комунального майна”;
- Не подав документи або відомості, обов’язкове подання яких передбачено ЗУ “Про приватизацію державного і комунального майна”;
- Подав неправдиві відомості про себе;
- Відмовився від підписання протоколу про результати електронного аукціону;
- Відмовився від укладення договору;
- Відмовився від підписання протоколу аукціону або договору купівлі-продажу щодо того самого об’єкта приватизації, що підтверджується відповідним актом;
- Не сплатив ціну продажу об’єкта приватизації у встановлений строк щодо того самого об’єкта приватизації, що підтверджується відповідним актом;
- Не сплатив ціну продажу об'єкта приватизації у встановлений строк.
то розмір ГВ розраховується як:
- 50% стартової ціни поточного аукціону АБО
- 30 мін заробітних плат станом на 01.01. року, у якому оприлюднюється Інформаційне Повідомлення; треба обрати більше з двох значень.
Має відбуватись перевірка: якщо дві будь-які Процедури по одному asset у всіх повʼязаних ІП знаходяться у статусі unsuccessful і обидві мають хоч один award у статусі unsuccessful, то має відпрацьовувати механізм перерахунку ГВ для всіх Процедур, окрім першої (бо для першої завжди == announcement.initialProps.guarantee).
*- враховуються будь які попередні 2 аукціона з продажу об'єкта протягом поточного та всіх попередніх ІП в не залежності від типу ІП. Гарантійний внесок також може бути відредагований вручну Організатором безпосередньо у Процедурі (для другої та наступних процедур ланцюжка) під час clarificationPeriod (48 годин після публікації процедури)
Anchor guarantee_calc guarantee_calc
Логіка розрахунку guarantee та currentTenantGuaranteeFee при створенні Процедур у ланцюжку ІП
| guarantee_calc | |
| guarantee_calc |
- У Announcement Організатор заповнює поля guarantee та currentTenantGuaranteeFee (де значення currentTenantGuaranteeFee можна передзаповнити на Майданчику автоматично = guarantee але з можливістю редагування користувачем)
- При автоматичному створенні 1-ї Процедури SPЕ поля guarantee та currentTenantGuaranteeFee мають скопіюватись у SPЕ.
- В нас закладено, що у Першій Процедурі не має бути можливості редагувати поля guarantee та currentTenantGuaranteeFee, які скопіювались із Announcement
- При автоматичному створенні 2-,3-,4-ї Процедур SPE поля guarantee та currentTenantGuaranteeFee == 20% від Поточної ціни Аукціона (поточна ціна == Стартовова ціна аукцінону)
- В нас закладено, що у Організатора має бути можливість редагувати поля guarantee та currentTenantGuaranteeFee у 2-,3-,4-й Процедурі SPE. Тобто, значення guarantee та currentTenantGuaranteeFee, яке ми заклали, - дефолтне, з можливістю змінити.
- При автоматичному створенні 5ї та 6-Ї Процедури SPD поля guarantee та currentTenantGuaranteeFee == 20% від Поточної ціни лота (поточна ціна == 50% від Стартової)
- В нас закладено, що у Організатора має бути можливість редагувати поля guarantee та currentTenantGuaranteeFee у 5-й та 6-й Процедурі SPD. Тобто, значення guarantee та currentTenantGuaranteeFee, яке ми заклали, - дефолтні, з можливістю змінити.
Виключення: якщо два будь-які попередні Аукціони у ланцюжку (навіть не підряд, а, наприклад, Перший і Третій) завершилися з причини дискваліфікації Bid-ів, то ми маємо підставити дефолтне значення guarantee, яке == 50% від Поточної ціни лота АБО 30 мінімальних заробітніх плат (обирається більше значення)
- На прикладі:
- При створенні ІП Організатор вказав стартову ціну (value) == 1 000 000 грн і guarantee == 200 000 грн
- При автоматичному створенні Першої Процедури SPE у ній value == 1 000 000 грн і guarantee == 200 000 грн. Організатор НЕ може вносити змін у це поле.
- При автоматичному створенні Другої Процедури SPE у ній value == 1 000 000 грн і guarantee == 200 000 грн. Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Третьої Процедури SPE у ній value == 1 000 000 грн і guarantee == 200 000 грн. Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Четвертої Процедури SPE у ній value == 500 000 грн і guarantee == 100 000 грн. (бо ціна SPE_1 / 2 == 500 000 грн і 20% == 100 000 грн). Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Пʼятої Процедури SPD у ній value == 500 000 грн і guarantee == 100 000 грн. (бо ціна SPE_1 / 2 == 500 000 грн і 20% == 100 000 грн). Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Шостої Процедури SPD у ній value == 500 000 грн і guarantee == 100 000 грн. (бо ціна SPE_1 / 2 == 500 000 грн і 20% == 100 000 грн). Організатор може вносити зміни у це поле протягом періоду редагування.
При автоматичному створенні будь якої з процедур МП має відбутись перевірка, чи попередні два аукціони мають дискваліфікованих бідів (з будь-якої причини):
- якщо НІ: guarantee та currentTenantGuaranteeFee == 200 000 грн або 100 000 грн. (бо ціна у SPD_1 == 1 000 000 грн і 20% == 200 000 грн. або SPD_5 == 500 000 грн і 20% == 100 000 грн ) Організатор може вносити зміни у це поле протягом періоду редагування.
- якщо ТАК: guarantee та currentTenantGuaranteeFee == 500 000 грн або 250 000 грн (бо ціна у SPD_1 == 1 000 000 грн і 50% == 500 000 грн. або SPD_5 == 500 000 грн і 20% == 250 000 грн.) Організатор може вносити зміни у це поле протягом періоду редагування.
Якщо в результаті дій Організатора виявилося, що guarantee перерахувалося згідно логіки Автоматичний перерахунок гарантійних внесків, то відповідні значення мають змінитись і в _specs.pipeline.stages[].calculatedData.guarantee.
Тобто, значення параметрів мають бути однакові в Процедурі і в Інформаційному повідомленні.
- Виключення: Якщо при створенні Announcement Організатор вказав стартову ціну (value) == 1 000 000 грн і guarantee == 300 000 грн то Перша Процедура має створитися з guarantee == 300 000 грн
Логіка для розрахунку guarantee у наступних процедурах не міняється.
Значення guarantee та currentTenantGuaranteeFee можуть співпадати під час автоматичний перерахунку, дефолтних значеннях, а також можуть співпадати або ні якщо Організатор вніс зміни під час періоду редагування в будь-яку з зазначених процедур
Таблиця розрахунку guarantee та currentTenantGuaranteeFee
| Процедура | Базове правило guarantee | Базове правило currentTenantGuaranteeFee | Чи можна редагувати в процедурі | Виняток після двох дискваліфікацій | Джерело для _specs.calculatedData.guarantee |
|---|---|---|---|---|---|
| 1 | announcement.initialProps.guarantee | announcement.initialProps.currentTenantGuaranteeFee | Ні | Не застосовується | значення з ІП |
| 2 | 20% від value процедури | 20% від value процедури | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 3 | 20% від value процедури | 20% від value процедури | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 4 | 20% від value процедури, де value = 50% initial value | 20% від value процедури, де value = 50% initial value | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 5 | 20% від value процедури, де value = 50% initial value | 20% від value процедури, де value = 50% initial value | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 6 | 20% від value процедури, де value = 50% initial value | 20% від value процедури, де value = 50% initial value | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
Правила заокруглення
У разі автоматичного розрахунку суми плат та/або внесків у випадках, якщо розмір відповідної суми включає числове значення менше копійки, ЦБД автоматично заокруглює відповідну суму за такими правилами: сума, що закінчується від 0,0001 до 0,4999 копійки, заокруглюється в бік зменшення до найближчої суми, яка дорівнює цілій копійці; сума, що закінчується від 0,5 до 0,9999 копійок, заокруглюється в бік збільшення до найближчої суми, яка дорівнює цілій копійці.
Логіка відображення створених та не створених Процедур у структурі відповіді Інформаційного Повідомлення (_specs.calculatedData)
У відповіді Інформаційного повідомлення блок _specs.calculatedData має містити перелік із шести потенційних процедур ланцюжка. Для кожної процедури система повинна відображати tenderAttempts, status, sellingMethod, value, minimalStep, guarantee, а також auctionID, якщо відповідна процедура вже створена. Базові параметри процедур визначаються за таблицею “Базова таблиця параметрів процедур”. Поточний статус кожної процедури визначається за таблицею “Статуси процедур залежно від стану ланцюжка”. Розрахунок гарантійного внеску виконується за таблицею “Розрахунок guarantee”.
Базова таблиця параметрів процедур
Ця таблиця описує незмінні правила для всіх шести потенційних процедур
| tender Attempts | Умовна назва процедури | sellingMethod | value | minimalStep | auctionPeriod.startDate | tenderPeriod.duration | guarantee | currentTenantGuaranteeFee | auctionID / relatedEntities |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Англійський аукціон з умовами | smallPrivatization-english | announcement.initialProps.value | announcement.initialProps.minimalStep | дата, вказана Організатором у extraSpecs.periods.auctionPeriod.startDate | не застосовується | announcement.initialProps.guarantee | announcement.initialProps.currentTenantGuaranteeFee | заповнюється після створення 1-ї процедури |
| 2 | Повторний англійський аукціон з умовами | smallPrivatization-english | announcement.initialProps.value | 1% від value процедури | не виводити | extraSpecs.periods.tenderPeriod.duration | за правилом guarantee для 2–6 процедур | за правилом currentTenantGuaranteeFee для 2–6 процедур | заповнюється тільки якщо процедура створена |
| 3 | Англійський аукціон з умовами | smallPrivatization-english | announcement.initialProps.value | 1% від value процедури | не виводити | extraSpecs.periods.tenderPeriod.duration | за правилом guarantee для 2–6 процедур | за правилом currentTenantGuaranteeFee для 2–6 процедур | заповнюється тільки якщо процедура створена |
| 4 | Англійський аукціон зі зниженням стартової ціни | smallPrivatization-english | announcement.initialProps.value * 0.5 | 1% від value процедури | не виводити | extraSpecs.periods.tenderPeriod.duration | за правилом guarantee для 2–6 процедур | за правилом currentTenantGuaranteeFee для 2–6 процедур | заповнюється тільки якщо процедура створена |
| 5 | Аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій | smallPrivatization-dutch | announcement.initialProps.value * 0.5 | 1% від value процедури | не виводити | extraSpecs.periods.tenderPeriod.duration | за правилом guarantee для 2–6 процедур | за правилом currentTenantGuaranteeFee для 2–6 процедур | заповнюється тільки якщо процедура створена |
| 6 | Повторний аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій | smallPrivatization-dutch | announcement.initialProps.value * 0.5 | 1% від value процедури | не виводити | extraSpecs.periods.tenderPeriod.duration | за правилом guarantee для 2–6 процедур | за правилом currentTenantGuaranteeFee для 2–6 процедур | заповнюється тільки якщо процедура створена |
Таблиця статусів процедур залежно від стану ланцюжка в _specs.pipeline.stages[]
| # | Сценарій / стан ланцюжка | announcement.status | Процедура 1 | Процедура 2 | Процедура 3 | Процедура 4 | Процедура 5 | Процедура 6 | Правило відображення |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ІП створено, процедури ще не створені | pending | scheduled | scheduled | scheduled | scheduled | scheduled | scheduled | Відображаються всі 6 потенційних процедур без auctionID |
| 2 | Створено 1-шу процедуру | active_auction | active | scheduled | scheduled | scheduled | scheduled | scheduled | auctionID заповнений тільки для процедури 1 |
| 3 | 1-ша процедура unsuccessful з дискваліфікацією award | active_auction | unsuccessful | active | scheduled | scheduled | scheduled | scheduled | Створюється процедура 2; auctionID є для 1 і 2 |
| 4 | 1-ша процедура unsuccessful без дискваліфікації award | active_auction | unsuccessful | unpublished | active | scheduled | scheduled | scheduled | Процедура 2 переходить в статус unpublished; створюється процедура 3 |
| 5 | 2-га процедура unsuccessful | active_auction | unsuccessful | unsuccessful | active | scheduled | scheduled | scheduled | Створюється процедура 3 |
| 6 | 3-тя процедура unsuccessful | active_auction | unsuccessful | unpublished/unsuccessful | unsuccessful | active | scheduled | scheduled | Створюється процедура 4 |
| 7 | 4-та процедура unsuccessful | active_auction | unsuccessful | unpublished/unsuccessful | unsuccessful | unsuccessful | active | scheduled | Створюється процедура 5 |
| 8 | 5-та процедура unsuccessful з дискваліфікацією award | active_auction | unsuccessful | unpublished/unsuccessful | unsuccessful | unsuccessful | unsuccessful | active | Створюється процедура 6 |
| 9 | 5-та процедура unsuccessful без дискваліфікації award | dissolved | unsuccessful | unpublished/unsuccessful | unsuccessful | unsuccessful | unsuccessful | unpublished | Ланцюжок завершується без створення 6-ї процедури |
| 10 | Будь-яка процедура complete | active_contracting | фактичний статус | фактичний статус / cancelled | фактичний статус / cancelled | фактичний статус / cancelled | фактичний статус / cancelled | фактичний статус / cancelled | Процедура-переможець = complete, нестворені = cancelled, unsuccessful залишаються unsuccessful |
| 11 | Будь-яка процедура cancelled | deleted | фактичний статус | фактичний статус | фактичний статус | фактичний статус | фактичний статус | фактичний статус | Наступні процедури не створюються |
Таблиця правил створення наступної процедури
| Поточна процедура | Умова завершення | Додаткова перевірка | Наступна дія системи | Яка процедура створюється |
|---|---|---|---|---|
| 1 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 1 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 1 | unsuccessful | є award.status = unsuccessful | створити повторну англійську процедуру: "Повторний англійський аукціон з умовами" | 2 |
| 1 | unsuccessful | немає дискваліфікованих award/bid | 2га процедура НЕ створюється в _specs обʼєкт [1] набуває статус unpublished | 3 |
| 2 | не створювалась в _specs обʼєкт [1] має статус unpublished | не потрібно | створити повторну англійську процедуру "Повторний англійський аукціон з умовами" | 3 |
| 2 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 2 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 2 | unsuccessful | не потрібно | створити наступний стандартний англійський аукціон "Повторний англійський аукціон з умовами" | 3 |
| 3 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 3 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 3 | unsuccessful | не потрібно | створити Англійський аукціон зі зниженням стартової ціни | 4 |
| 4 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 4 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 4 | unsuccessful | не потрібно | створити Голландський аукціон зі зниженням стартової ціни | 5 |
| 5 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 5 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 5 | unsuccessful | є хоча б один award.status = unsuccessful через дискваліфікацію | створити Повторний голландський аукціон | 6 |
| 5 | unsuccessful | немає дискваліфікованих award/bid | завершити ланцюжок | не створюється |
| 6 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 6 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 6 | unsuccessful | не потрібно | ІП переходить у dissolved | не створюється |
| Expand | ||
|---|---|---|
| ||
2. Коли створено Першу Процедуру (announcement.status: active_auction), відповідь має містити:
3. Коли завершується неуспішно Перша Процедура (Procedure.status: unsuccessful) із Ланцюжка, то необхідно:
4. Коли створено Третю Процедуру (announcement.status: active_auction), відповідь має містити:
5. Коли створено Четверту Процедуру (announcement.status: active_auction), відповідь має містити:
4. Коли створено Пʼяту Процедуру (announcement.status: active_auction), відповідь |
...
Ідентифікатор документа в document service
...
Тип документа за доступом [public/private]
...
default: guarantee
...
x-format: list-object
minItems: 1
maxItems: 1
...
default: 1
...
default: 0
...
Enum:
[guarantee, registrationFee, payment та currentTennant]
...
default: true
...
Поля dutchStepPercent та dutchStepValue автогенеруються на рівні ЦБД, без можливості внесення змін Організатором
Для поля dutchStepQuantity ЦБД формує дефолтне, Організатор має можливість змінити дефолтне значення.
default: 99
...
default: yes
...
minItems: 1
maxItems: 1
список пов'язаних сутностей, які необхідні для створення сутностей producedEntities
...
Рішення про затвердження умов продажу
...
+
...
minLength: 1
...
minLength: 1
...
default: announcement
Enum:[ announcement ]
...
URL-посилання на файл
...
URL-посилання на файл
...
default: List []
список створених сутностей
...
default: List []
поле необхідне для уточнення базових значень спеціфікацій
...
Для внесення додаткових параметрів організатором
...
x-format: list-object
default: List []
...
Опис всіх періодів об'єкта
...
x-format: timer
x-serialize_when_none: false
час до наступної події
...
x-format: object-id
x-serialize_when_none: false
...
autogenerated field with information about all related procedures
...
default: List []
...
default: false
...
| title | Опис базових моделей |
|---|
...
base.Address or base.AddressUa
...
dateFrom
...
Період з
...
dateTill
...
Період по
...
term
...
Строк дії
...
Дата завершення невідʼємних поліпшень
...
Умови компенсації
...
Рішення про згоду на невідʼємні поліпшення
...
orderCost
...
Наказ про затвердження висновку про вартість об’єкта приватизації
...
dateFrom
...
Період з
...
dateTill
...
Період по
...
term
...
Строк дії
...
Класифікатори та словники
Інформаційне Повідомлення має посилання (relatedEntities) на пов’язаний Об’єкт реєстру МП. При створенні Об’єкту реєстру МП використовуються обов’язкові словники: - основний класифікатор: CAV - додатковий класифікатор державного майна: dm
Логіка роботи з Класифікаторами описана у ТЗ по Об’єктам реєстру МП:
Посилання на ТЗ по Об'єкта реєстру МП
Періоди і статуси
Конфігураційний файл з періодами и статусами - Треба створити новий для даного ІП
Загальна схема процесу публікації Інформаційного Повідомлення
Схема “Загальний процес продажу об'єктів малої приватизації”
Функціонал ролей в рамках періодів
Timeline
Схема “Timeline Інформаційного Повідомлення”
Статуси Інформаційного Повідомлення
...
| title | Схема “Модель статусів Інформаційного Повідомлення” |
|---|
...
- Опубліковано Інформаційне Повідомлення
- Технічний ідентифікатор: pending
- Функціонал Організатора:
- Редагування полів опублікованого Інформаційного Повідомлення протягом 48 годин (rectificationPeriod). Для збереження змін потрібно завантажити документ announcement.documents.documentType: clarifications
- Редагування полів пов’язаного Об’єкту реєстру (asset.status: active_rectification) через інтерфейс Інформаційного Повідомлення на Майданчику протягом announcement.rectificationPeriod
- Завантаження або заміна документів Інформаційного Повідомлення та Об’єкта реєстру через інтерфейс Інформаційного Повідомлення на Майданчику протягом announcement.rectificationPeriod
- Розформування Інформаційного Повідомлення (завантажувати документи не потрібно)
- Умови набуття статусу: натискання Організатором кнопки “Опублікувати Інформаційне Повідомлення”. ЦБД валідує всі обов’язкові поля та документи та публікує Інформаційне Повідомлення у статусі announcement.status: pending.
- Умови зміни статусу:
- Автоматично після завершення announcement.rectificationPeriod (48 годин) та створення Першої Процедури з ланцюжка статус ІП зміниться з pending на active_auction;
- Ручна дія. Натискання кнопки "Розформувати Інформаційне Повідомлення" змінить статус ІП з pending на deleted.
- Опис: після набуття статусу pending Інформаційне Повідомлення стає доступним для всіх Спостерігачів
- Коментар:
- При публікації Інформаційного Повідомлення у ЦБД до Об’єкта реєстру МП повинно передаватись посилання на створене ІП (asset.relatedEntities.type == announcement);
- Одночасно у Об’єкта МП може бути тільки одне Інформаційне Повідомлення у статусі pending, active_auction, active_contracting, sold та необмежена кількість у статусах deleted та dissolved.
Проведення Аукціону
- Технічний ідентифікатор: active_auction
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу: - По настанню announcement.rectificationPeriod.endDate автоматично створюється Перша Процедура із ланцюжка і Інформаційне Повідомлення набуває статусу active_auction.
- Умови зміни статусу:
- Статус ІП змінюється з active_auction на active_contracting автоматично після зміни статусу будь-якої Процедури з ланцюжка на complete;
- Статус ІП змінюється з active_auction на dissolved автоматично після зміни статусу Останньої Процедури із ланцюжка на unsuccessful;
- Статус ІП змінюється з active_auction на deleted автоматично після зміни статусу будь-якої Процедури із ланцюжка на cancelled.
- Опис: Організатор не взаємодіє з ІП. Всі дії відбуваються у активній Процедурі.
- Коментар: Інформаційне Повідомлення перебуває у статусі active_auction протягом всього періоду аукціонів. У ланцюжку ІП анонсується 6 Процедур. Але друга та четверта може згенеруватися автоматично за умови, що перший або пʼятий Аукціон завершився з причини дискваліфікації всіх учасників.
Виконання умов приватизації
- Технічний ідентифікатор: active_contracting
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу: статус ІП змінюється на active_contracting автоматично після набуття статусу complete будь-якої Процедури з ланцюжка ІП.
- Умови зміни статусу:
- Автоматично, як тільки сутність execution набуває статусу execution.status: sold, статус Інформаційного Повідомлення набуває статусу sold;
- Автоматично, як тільки сутність execution набуває статусу execution.status: deleted, статус Інформаційного Повідомлення набуває статусу deleted;
- Опис: Організатор не взаємодіє з ІП. Всі дії відбуваються у сутності Контрактинг (execution).
Об'єкт продано
- Технічний ідентифікатор: sold
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу: Автоматично, як тільки сутність execution набуває статусу execution.status: complete.
- Умови зміни статусу: термінальний статус
- Опис: Приватизація успішно завершена, умови приватизації виконані.
Об’єкт не продано
- Технічний ідентифікатор: dissolved
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу:
- Автоматично, коли остання Процедура із ланцюжка Інформаційних Повідомлень набула статусу procedure.status: unsuccessful;
- Умови зміни статусу: термінальний статус
- Опис: статус відповідає Інформаційному Повідомленню у якому продаж не відбувся. При набутті Інформаційним Повідомленням статусу dissolved статус Об'єкта реєстру автоматично змінюється на pending;
Інформаційне Повідомлення розформовано
- Технічний ідентифікатор: deleted
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу:
- Ручная дія. Натискання кнопки "Розформувати Інформаційне Повідомлення". Дія можлива до моменту створення Першої Процедури у ланцюжку Інформаційного Повідомлення; Не обов'язкова дія - завантаження документу cancellations.documents.documentType: cancellationDetails;
- Автоматично, коли будь-яка Процедура із ланцюжка Інформаційних Повідомлень набула статусу procedure.status: cancelled;
- Автоматично, як тільки сутність Контрактингу (Execution) набула статусу Execution.status: deleted
- Умови зміни статусу: термінальний статус
- Опис: статус відповідає розформованому Інформаційному Повідомленню. При набутті Інформаційним Повідомленням статусу deleted статус Об'єкта реєстру автоматично змінюється на pending;
Опис періодів
- Період редагування інформаційного повідомлення: rectificationPeriod
- Статус Інформаційного Повідомлення: pending
- Умови формування дати початку та кінця періоду:
- Дата початку: може припадати на неробочий день, відповідає даті та часу публікації Інформаційного Повідомлення в ЦБД;
- Дата завершення: може припадати на неробочий день, завершується через 48 годин після публікації Інформаційного Повідомлення.
- Функціонал Організатора:
- Редагування полів Інформаційного Повідомлення та полів Об’єкта реєстру (перелік вказано нижче);
- Завантаження або заміна документів Інформаційного Повідомлення;
- Редагування полів Об'єкта реєстру;
- Завантаження нових документів до Об’єкта реєстру;
- Розформування Інформаційного Повідомлення;
- Поля, які доступні для редагування протягом announcement.rectificationPeriod:
У Об’єкта реєстру МП:
- title
- description
- ownershipType
- assetHolder та всі дочірні не технічні поля
- assetCustodian та всі дочірні не технічні поля
- documents та всі дочірні не технічні поля
- items та всі дочірні не технічні поля
- presentationUrl
- presentationUrlEN
У Інформаційного Повідомлення
- title
- description
- documents та всі дочірні не технічні поля
- initialProps та всі дочірні не технічні поля
- decisions
- extraSpecs.auctionPeriod_startDate
- extraSpecs.tenderPeriodDuration
- presentationUrl
- presentationUrlEN
Типи, опис документів та робота з ними
Під час публікації Інформаційного Повідомлення або під час періоду виправлення помилок (rectificationPeriod), окрім додавання нових документів або заміни раніше доданих документів безпосередньо у Інформаційне Повідомлення, доступна можливість додати нові або оновити існуючі документи Об'єкта реєстру МП.
Перелік документів
...
| title | Перелік документів |
|---|
...
cancellations.documents.documentType: cancellationDetails
...
сonstructionExpertise
...
Technical specifications
...
Повідомлення
Повідомлення щодо публікації інформаційного повідомлення
- Організатору
- Коли - після створення Інформаційного Повідомлення в ЦБД та набуття їм статуса “Опубліковано” (pending)
- Що - Інформаційне повідомлення опубліковане. Ви можете виправити технічні помилки протягом 48 годин після публікації.
- Коментарі - Повідомлення надходить протягом 5 хв.
Повідомлення щодо редагування Інформаційного Повідомлення
- Організатору
- Коли - після збереження змін у Інформаційному Повідомленні або Об’єкті, які зроблені протягом rectificationPeriod
- Що - Зміни в Інформаційному Повідомленні успішно виконані
- Коментарі - Повідомлення надходить протягом 5 хв.
Повідомлення щодо розформування Інформаційного Повідомлення
- Організатору
- Коли - після набуття Інформаційним Повідомленням статусу “Об’єкт не продано” (dissolved)
- Що - Інформаційне повідомлення розформовано. Для продовження продажу Об'єкта малої приватизації створіть нове Інформаційне Повідомлення
- Коментарі - Повідомлення надходить протягом 5 хв.
Послідовність створення ланцюжка Процедур аукціонів
Послідовність та кількість аукціонів
...
| title | Діаграма "Ланцюжок аукціонів для Малої приватизації з коменсацією" |
|---|
...
Для продажу Об'єктів малої приватизації під час воєнного стану визначена наступна послідовність аукціонів та типи аукціонів:
- Перший аукціон - англійський
- Другий аукціон - англійський
- Третій аукціон - англійський
- Четвертий аукціон - англійський зі знижкою 50%
- Пʼятий аукціон - голландський зі знижкою 50%
- Шостий аукціон - голландський зі знижкою 50%
Умови для створення наступної Процедури
Перша Процедура створюється автоматично по завершенню announcement.rectificationPeriod (Як тільки наступає announcement.rectificationPeriod.endDate)
Друга (можлива), Третя, Четверта, Пʼята та можлива Шоста Процедура автоматично створюється одразу, якщо попередня Процедура набула статусу unsuccessful.
- Особливості:
- 2-а Процедура створюється тільки у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
- Якщо на етапі кваліфікації award-ів відбулася дискваліфікація переможців (1й та 2й учасник в разі наявності мають статус unsuccessful)
- 2-а Процедура не створюється і одразу створюється 3-я Процедура в ЦБД у випадку коли 1-а Процедура аукціону перейшла в статус unsuccessful:
- Якщо в 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 - "Повторний аукціон за методом покрокового зниження стартової ціни та подальшого подання цінових пропозицій"
Значення tenderAttempts не змінюється від кількості оголошених Процедур
Особливості часових параметрів
Для автоматичного створення та публікації Процедур аукціонів використовуються наступні параметри:
- Дата початку Першого аукціону (extraSpecs.periods.periodName: auctionPeriod startDate)
- Особливості:
- Дата аукціону визначається Організатором;
- Час аукціону визначається ЦБД в період з 11:00 - 13:00 при автоматичному створенні Першої Процедури;
- Перша Процедура буде буде створена автоматично, як тільки завершиться announcement.rectificationPeriod. Модуль Аукціону буде запущено у дату, яку вказав Організатор у Дата початку Першого аукціону та час визначений ЦБД при створенні процедури. У період між датою створення Першої Процедури і “Дата початку Першого аукціону” триває tenderPeriod Першої Процедури, який завершується о 20:00 дня, що передує дню “Дата початку Першого аукціону”.
- Період між створенням Першої Процедури і “Дата початку Першого аукціону” не може бути менше 4 робочих днів (auctionPeriod_startDate >= currentDate + 4 wd);
- Максимальна кількість днів між створенням Першої Процедури і “Дата початку Першого аукціону” 366 календарних днів.
- Друга та наступні Процедури створюються автоматично одразу, тільки якщо попередня Процедура із ланцюжка ІП набула статусу Procedure.status: unsuccessful
- Особливості:
Приклад: якщо Перша Процедура набула статусу Procedure.status: unsuccessful, то Друга, Третя, Четверта, Пʼята та Шоста Процедури (в залежності від виконання умов відповідно до кожної процедури) буде створена автоматично одразу.
- Період на подачу пропозицій (робочих днів) (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
- Особливості:
Приклад 1:
- 1-а Процедура набула статусу Procedure.status: unsuccessful у п’ятницю 15.05.2026 де було дискваліфіковано всіх учасників які приймали участь в кваліфікації
- 2-а Процедура буде автоматично створена у п'ятницю 15.05.2026 одразу.
- У 2-ї Процедури розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- У 3-,4-,5-ї Процедури розпочинається tenderPeriod, за умови переходу попередньої опублікованої Процедури в статус unsuccessful, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- 5-а Процедура набула статусу Procedure.status: unsuccessful:
- Не було учасників в 5-й Процедурі → 6-а Процедура не публікується + 6-а Процедура в spec[1] автоматично перейде у статус unpublished
- В 5-й Процедурі було дискваліфіковано всіх учасників які приймали участь в кваліфікації → 6-й Процедурі розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
Приклад 2:
- 1-а Процедура набула статусу Procedure.status: unsuccessful у п’ятницю 15.05.2026 де не було учасників в Процедурі
- 2-а Процедура не публікується
- 2-а Процедура в spec[1] автоматично перейде у статус unpublished у п'ятницю 15.05.2026 одразу
- 3-я Процедура буде автоматично створена у п'ятницю 15.05.2026 одразу після переходу 1-ї Процедури в статус unsuccessful
- У 3-ї Процедури розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- У 4-,5-ї Процедури розпочинається tenderPeriod, за умови переходу попередньої опублікованої Процедури в статус unsuccessful, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
- 5-а Процедура набула статусу Procedure.status: unsuccessful:
- Не було учасників в 5-й Процедурі → 6-а Процедура не публікується + 6-а Процедура в spec[1] автоматично перейде у статус unpublished
- В 5-й Процедурі було дискваліфіковано всіх учасників які приймали участь в кваліфікації → 6-й Процедурі розпочинається tenderPeriod, який буде тривати таку кількість робочих днів, яку вказав Організатор у полі “Період на подачу пропозицій”. День створення Процедури не враховується.
- Якщо Організатор вказав extraSpecs.periods.periodName: tenderPeriod duration == 20 днів, то tenderPeriod починається у дату створення Процедури, але відрахунок 20-ти днів має починатися з 18.05.2026 (понеділок);
Стартова ціна
Для аукціонів з продажу об’єктів малої приватизації під час воєнного стану визначені наступні розміри стартової ціни:
- Перший аукціон - стартова ціна першого аукціону вважається 100%
- Другий аукціон - стартова ціна першого аукціону вважається 100%
- Третій аукціон - стартова ціна першого аукціону вважається 100%
- Четвертий аукціон - 50% стартової ціни першого аукціону
- Пʼятий аукціон - 50% стартової ціни першого аукціону
- Шостий аукціон - 50% стартової ціни першого аукціону
Організатор задає значення стартової ціни першого аукціону при публікації ІП. Стартові ціни для наступних аукціонів розраховуються автоматично без можливості редагування. (Для стартової ціни допускається тільки валюта - ГРН)
Автоматичний перерахунок гарантійних внесків
При створенні ІП у запиті на ЦБД мають передаватись заповнені поля guarantee та currentTenantGuaranteeFee. де guarantee заповнює Організатор а currentTenantGuaranteeFee за замовчуванням дорівнює guarantee але Організатор має право редагувати це поле. Подальша логіка розповсюджується на два поля однаково для всіх процедур ланцюжка (SPE, SPD).
На стороні ЦБД валідація лише на "обов'язковість заповнення".
На майданчику можна пропонувати Організатору автозаповнення полей guarantee та currentTenantGuaranteeFee, що == 20% стартової ціни поточного аукціону (20% від announcement.InitialProps.value).
Протягом 48 годин, доки у ІП триває rectificationPeriod поля guarantee та currentTenantGuaranteeFee можна редагувати.
Для першої процедури у ланцюжку ГВ завжди копіюється із announcement.initialProps.guarantee та announcement.initialProps.currentTenantGuaranteeFee.
Для другої і наступних Процедур у ланцюжку, якщо будь які попередні два аукціона* з продажу цього Об’єкта не відбулись (статус процедури “unsuccessful”) з наступних причин дискваліфікації учасників (статус аварду “unsuccessful”):
- Не відповідає вимогам статті 8 ЗУ "Про приватизацію державного і комунального майна”;
- Не подав документи або відомості, обов’язкове подання яких передбачено ЗУ “Про приватизацію державного і комунального майна”;
- Подав неправдиві відомості про себе;
- Відмовився від підписання протоколу про результати електронного аукціону;
- Відмовився від укладення договору;
- Відмовився від підписання протоколу аукціону або договору купівлі-продажу щодо того самого об’єкта приватизації, що підтверджується відповідним актом;
- Не сплатив ціну продажу об’єкта приватизації у встановлений строк щодо того самого об’єкта приватизації, що підтверджується відповідним актом;
- Не сплатив ціну продажу об'єкта приватизації у встановлений строк.
то розмір ГВ розраховується як:
- 50% стартової ціни поточного аукціону АБО
- 30 мін заробітних плат станом на 01.01. року, у якому оприлюднюється Інформаційне Повідомлення; треба обрати більше з двох значень.
Має відбуватись перевірка: якщо дві будь-які Процедури по одному asset у всіх повʼязаних ІП знаходяться у статусі unsuccessful і обидві мають хоч один award у статусі unsuccessful, то має відпрацьовувати механізм перерахунку ГВ для всіх Процедур, окрім першої (бо для першої завжди == announcement.initialProps.guarantee).
*- враховуються будь які попередні 2 аукціона з продажу об'єкта протягом поточного та всіх попередніх ІП в не залежності від типу ІП. Гарантійний внесок також може бути відредагований вручну Організатором безпосередньо у Процедурі (для другої та наступних процедур ланцюжка) під час clarificationPeriod (48 годин після публікації процедури)
- Логіка розрахунку guarantee при створенні Процедур у ланцюжку ІП:
- У Announcement Організатор заповнює поля guarantee та currentTenantGuaranteeFee (де значення currentTenantGuaranteeFee можна передзаповнити автоматично = guarantee але з можливістю редагування)
- При автоматичному створенні 1-ї Процедури SPЕ поля guarantee та currentTenantGuaranteeFee мають скопіюватись у SPЕ.
- В нас закладено, що у Першій Процедурі не має бути можливості редагувати поля guarantee та currentTenantGuaranteeFee, які скопіювались із Announcement
- При автоматичному створенні 2-,3-,4-ї Процедур SPE поля guarantee та currentTenantGuaranteeFee == 20% від Поточної ціни Аукціона (поточна ціна == Стартовова ціна аукцінону)
- В нас закладено, що у Організатора має бути можливість редагувати поля guarantee та currentTenantGuaranteeFee у 2-,3-,4-й Процедурі SPE. Тобто, значення guarantee та currentTenantGuaranteeFee, яке ми заклали, - дефолтне, з можливістю змінити.
- При автоматичному створенні 5ї та 6-Ї Процедури SPD поля guarantee та currentTenantGuaranteeFee == 20% від Поточної ціни лота (поточна ціна == 50% від Стартової)
- В нас закладено, що у Організатора має бути можливість редагувати поля guarantee та currentTenantGuaranteeFee у 5-й та 6-й Процедурі SPD. Тобто, значення guarantee та currentTenantGuaranteeFee, яке ми заклали, - дефолтні, з можливістю змінити.
Виключення: якщо два будь-які попередні Аукціони у ланцюжку (навіть не підряд, а, наприклад, Перший і Третій) завершилися з причини дискваліфікації Bid-ів, то ми маємо підставити дефолтне значення guarantee, яке == 50% від Поточної ціни лота АБО 30 мінімальних заробітніх плат (обирається більше значення)
- На прикладі:
- При створенні ІП Організатор вказав стартову ціну (value) == 1 000 000 грн і guarantee == 200 000 грн
- При автоматичному створенні Першої Процедури SPE у ній value == 1 000 000 грн і guarantee == 200 000 грн. Організатор НЕ може вносити змін у це поле.
- При автоматичному створенні Другої Процедури SPE у ній value == 1 000 000 грн і guarantee == 200 000 грн. Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Третьої Процедури SPE у ній value == 1 000 000 грн і guarantee == 200 000 грн. Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Четвертої Процедури SPE у ній value == 500 000 грн і guarantee == 100 000 грн. (бо ціна SPE_1 / 2 == 500 000 грн і 20% == 100 000 грн). Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Пʼятої Процедури SPD у ній value == 500 000 грн і guarantee == 100 000 грн. (бо ціна SPE_1 / 2 == 500 000 грн і 20% == 100 000 грн). Організатор може вносити зміни у це поле протягом періоду редагування.
- При автоматичному створенні Шостої Процедури SPD у ній value == 500 000 грн і guarantee == 100 000 грн. (бо ціна SPE_1 / 2 == 500 000 грн і 20% == 100 000 грн). Організатор може вносити зміни у це поле протягом періоду редагування.
При автоматичному створенні будь якої з процедур МП має відбутись перевірка, чи попередні два аукціони мають дискваліфікованих бідів (з будь-якої причини):
- якщо НІ: guarantee та currentTenantGuaranteeFee == 200 000 грн або 100 000 грн. (бо ціна у SPD_1 == 1 000 000 грн і 20% == 200 000 грн. або SPD_5 == 500 000 грн і 20% == 100 000 грн ) Організатор може вносити зміни у це поле протягом періоду редагування.
- якщо ТАК: guarantee та currentTenantGuaranteeFee == 500 000 грн або 250 000 грн (бо ціна у SPD_1 == 1 000 000 грн і 50% == 500 000 грн. або SPD_5 == 500 000 грн і 20% == 250 000 грн.) Організатор може вносити зміни у це поле протягом періоду редагування.
Якщо в результаті дій Організатора виявилося, що guarantee перерахувалося згідно логіки Автоматичний перерахунок гарантійних внесків, то відповідні значення мають змінитись і в _specs.pipeline.stages[].calculatedData.guarantee.
Тобто, значення параметрів мають бути однакові в Процедурі і в Інформаційному повідомленні.
- Виключення: Якщо при створенні Announcement Організатор вказав стартову ціну (value) == 1 000 000 грн і guarantee == 300 000 грн то Перша Процедура має створитися з guarantee == 300 000 грн
Логіка для розрахунку guarantee у наступних процедурах не міняється.
Значення guarantee та currentTenantGuaranteeFee можуть співпадати під час автоматичний перерахунку, дефолтних значеннях, а також можуть співпадати або ні якщо Організатор вніс зміни під час періоду редагування в будь-яку з зазначених процедур
Правила заокруглення
У разі автоматичного розрахунку суми плат та/або внесків у випадках, якщо розмір відповідної суми включає числове значення менше копійки, ЦБД автоматично заокруглює відповідну суму за такими правилами: сума, що закінчується від 0,0001 до 0,4999 копійки, заокруглюється в бік зменшення до найближчої суми, яка дорівнює цілій копійці; сума, що закінчується від 0,5 до 0,9999 копійок, заокруглюється в бік збільшення до найближчої суми, яка дорівнює цілій копійці.
Логіка відображення створених та не створених Процедур у структурі відповіді Інформаційного Повідомлення (_specs.calculatedData)
У відповіді Інформаційного повідомлення блок _specs.calculatedData має містити перелік із шести потенційних процедур ланцюжка. Для кожної процедури система повинна відображати tenderAttempts, status, sellingMethod, value, minimalStep, guarantee, а також auctionID, якщо відповідна процедура вже створена. Базові параметри процедур визначаються за таблицею “Базова таблиця параметрів процедур”. Поточний статус кожної процедури визначається за таблицею “Статуси процедур залежно від стану ланцюжка”. Розрахунок гарантійного внеску виконується за таблицею “Розрахунок guarantee”.
Базова таблиця параметрів процедур
Ця таблиця описує незмінні правила для всіх шести потенційних процедур
...
Таблиця статусів процедур залежно від стану ланцюжка
| Сценарій / стан ланцюжка | announcement.status | Процедура 1 | Процедура 2 | Процедура 3 | Процедура 4 | Процедура 5 | Процедура 6 | Правило відображення |
|---|---|---|---|---|---|---|---|---|
| ІП створено, процедури ще не створені | pending | scheduled | scheduled | scheduled | scheduled | scheduled | scheduled | Відображаються всі 6 потенційних процедур без auctionID |
| Створено 1-шу процедуру | active_auction | active | scheduled | scheduled | scheduled | scheduled | scheduled | auctionID заповнений тільки для процедури 1 |
| 1-ша процедура unsuccessful з дискваліфікацією award | active_auction | unsuccessful | active | scheduled | scheduled | scheduled | scheduled | Створюється процедура 2; auctionID є для 1 і 2 |
| 1-ша процедура unsuccessful без дискваліфікації award | active_auction | unsuccessful | unpublished | active | scheduled | scheduled | scheduled | Процедура 2 переходить в статус unpublished; створюється процедура 3 |
| 2-га процедура unsuccessful | active_auction | unsuccessful | unsuccessful | active | scheduled | scheduled | scheduled | Створюється процедура 3 |
| 3-тя процедура unsuccessful | active_auction | unsuccessful | unpublished/unsuccessful | unsuccessful | active | scheduled | scheduled | Створюється процедура 4 |
| 4-та процедура unsuccessful | active_auction | unsuccessful | unpublished/unsuccessful | unsuccessful | unsuccessful | active | scheduled | Створюється процедура 5 |
| 5-та процедура unsuccessful з дискваліфікацією award | active_auction | unsuccessful | unpublished/unsuccessful | unsuccessful | unsuccessful | unsuccessful | active | Створюється процедура 6 |
| 5-та процедура unsuccessful без дискваліфікації award | dissolved | unsuccessful | unpublished/unsuccessful | unsuccessful | unsuccessful | unsuccessful | unpublished | Ланцюжок завершується без створення 6-ї процедури |
| Будь-яка процедура complete | active_contracting | фактичний статус | фактичний статус / cancelled | фактичний статус / cancelled | фактичний статус / cancelled | фактичний статус / cancelled | фактичний статус / cancelled | Процедура-переможець = complete, нестворені = cancelled, unsuccessful залишаються unsuccessful |
| Будь-яка процедура cancelled | deleted | фактичний статус | фактичний статус | фактичний статус | фактичний статус | фактичний статус | фактичний статус | Наступні процедури не створюються |
Таблиця правил створення наступної процедури
| Поточна процедура | Умова завершення | Додаткова перевірка | Наступна дія системи | Яка процедура створюється |
|---|---|---|---|---|
| 1 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 1 | cancelled | не потрібно | ланцюжок зупиняється | не створюється |
| 1 | unsuccessful | є award.status = unsuccessful | створити повторний аукціон з ПП | 2 |
| 1 | unsuccessful | немає дискваліфікованих award/bid | 2га процедура набуває статус unpublished | 2 |
| 2 | unpublished | не потрібно | створити наступний стандартний англійський аукціон | 3 |
| 2 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 2 | unsuccessful | не потрібно | створити наступний стандартний англійський аукціон | 3 |
| 3 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 3 | unsuccessful | не потрібно | створити англійський зі зниженням стартової ціни | 4 |
| 4 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 4 | unsuccessful | не потрібно | створити голландський аукціон | 5 |
| 5 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 5 | unsuccessful | є хоча б один award.status = unsuccessful через дискваліфікацію | створити повторний голландський | 6 |
| 5 | unsuccessful | немає дискваліфікованих award/bid | завершити ланцюжок | не створюється |
| 6 | complete | не потрібно | ІП переходить у active_contracting | не створюється |
| 6 | unsuccessful | не потрібно | ІП переходить у dissolved | не створюється |
Таблиця розрахунку guarantee та currentTenantGuaranteeFee
| Процедура | Базове правило guarantee | Базове правило currentTenantGuaranteeFee | Чи можна редагувати в процедурі | Виняток після двох дискваліфікацій | Джерело для _specs.calculatedData.guarantee |
|---|---|---|---|---|---|
| 1 | announcement.initialProps.guarantee | announcement.initialProps.currentTenantGuaranteeFee | Ні, якщо правило передбачає копіювання без редагування | Не застосовується | значення з ІП або фактичної процедури |
| 2 | 20% від value процедури | 20% від value процедури | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 3 | 20% від value процедури | 20% від value процедури | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 4 | 20% від value процедури, де value = 50% initial value | 20% від value процедури, де value = 50% initial value | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 5 | 20% від value процедури, де value = 50% initial value | 20% від value процедури, де value = 50% initial value | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| 6 | 20% від value процедури, де value = 50% initial value | 20% від value процедури, де value = 50% initial value | Так, у Procedure.clarificationPeriod | max(50% від value процедури, 30 МЗП) | фактичне значення процедури або розраховане |
| Expand | ||
|---|---|---|
| ||
| Коли тільки створено ІП (announcement.status: pending), відповідь на запит по ІП має містити:
Коли завершується неуспішно Пʼята Процедура (Procedure.status: unsuccessful) із Ланцюжка, то необхідно перевірити, чи були у Пʼятій Процедурі дискваліфіковані Біди і якщо Так, то створюється Шоста Процедура У відповідь ІП необхідно додати інформацію про Шосту Процедуру2. Коли створено Першу Процедуру (announcement.status: active_auction), відповідь має містити:
3. Коли завершується неуспішно Перша Процедура (Procedure.status: unsuccessful) із Ланцюжка, то необхідно: Перевірити, чи були у Першій Процедурі дискваліфіковані всі Аварди, які проходять кваліфікацію
6. Коли Перша, Друга,Третя, Четверта, Пʼята або Шоста Процедура переходить у статус complete (Announcement.status:active_contracting)
4. Коли створено Третю Процедуру (announcement.status: active_auction), відповідь має містити:
5. Коли створено Четверту Процедуру (announcement.status: active_auction), відповідь має містити:
4. Коли створено Пʼяту Процедуру (announcement.status: active_auction), відповідь має містити:
Коли завершується неуспішно Пʼята Процедура (Procedure.status: unsuccessful) із Ланцюжка, то необхідно перевірити, чи були у Пʼятій Процедурі дискваліфіковані Біди і якщо Так, то створюється Шоста Процедура У відповідь ІП необхідно додати інформацію про Шосту Процедуру:
6. Коли Перша, Друга,Третя, Четверта, Пʼята або Шоста Процедура переходить у статус complete (Announcement.status:active_contracting)
Якщо в результаті дій Організатора виявилося, що guarantee перерахувалося згідно логіки Автоматичний перерахунок гарантійних внесків, то відповідні значення мають змінитись і в _specs.pipeline.stages[].calculatedData.guarantee. |
pipelineMethod
Якщо в результаті дій Організатора виявилося, що guarantee перерахувалося згідно логіки Автоматичний перерахунок гарантійних внесків, то відповідні значення мають змінитись і в _specs.pipeline.stages[].calculatedData.guarantee. |
Структура даних
| systemName | x-legalNameUa | x-legalNameEn | Type | readOnly | Обовʼязковість | Коментар | |
|---|---|---|---|---|---|---|---|
| _id | Внутрішній ідентифікатор | ID | string | true | + | ||
| owner | Ідентифікатор майданчика | Owner ID | string | true | + | ||
| objectId | Ідентифікатор | Object ID | string | true | + | Example: JСS001-UA-20200220-12345 | |
| previousObjectId | Ідентифікатор попереднього Інформаційного повідомлення | Previous Announcement Id | string | true | - | автоматично підтягується з останнього Інформаційного повідомлення з однаковим asset minLength: 1 Може бути ІП іншого типу: JAS, JIS тощо | |
| title | Найменування | Announcement title | base.MultiLang | false | + | Автоматично заповнюється з related asset.title, але може редагуватися. minLength: 1 | |
| description | Опис | Announcement description | base.MultiLang | false | + | Автоматично заповнюється з related asset.description, але може редагуватися minLength: 1 | |
| _specs | true | Технічне поле Опис специфікацій з яких створюються похідні сутності | |||||
| pipelineMethod | string | false | Enum: [сompensation_announcement, сompensation_announcement-fast, сompensation_announcement-manual, сompensation_announcement-ultrafast, сompensation_announcement-fast-prod, сompensation_announcement-fast-prod-fast-first] Для продуктивного оточення передається тільки сompensation_announcement | ||||
| 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: сompensation_announcement Enum: [сompensation_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.value | |
| 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: 0 Поле обовʼязкове для ІП але не буде передаватись в Процедури | |
| 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: false Enum:[false] Поле обовʼязкове для ІП але не буде передаватись в Процедури | |
| 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: сompensation_announcement Enum:[сompensation_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 | ||||
Базові моделі
| systemName | x-legalNameUa | x-legalNameEn | Type | readOnly | Обовʼязковість | Коментар | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | Ідентифікатор чинного орендаря | Current tenant ID | string | true | x-default: hex | |||||||
| name | Повна юридична назва організації або ПІБ | Legal name or Full Name | base.MultiLang | false | |||||||||
| identifier | Ідентифікатори організації або особи | Identifier | base.Identifier | false | + | ||||||||
| address | Адреса | Address | base.Address or base.AddressUa | false | + | x-format "polymodel" x-claim-func "prozorro_sale.procedure.models.utils.address_claim_func" | |||||||
| representativeInfo | Інформація щодо підтвердження повноважень | Representative information | string | false | - | Example: JAS001-UA-20200220-12345 | |||||||
| priority | Пріорітет учасника | Participant's priority | integer($int32) | true | + | default: 0 | |||||||
| contract | Інформація про договір | Contract Information | model | false | |||||||||
| essentialImprovements | Інформація про невідʼємні поліпшення | Information about essential improvements | model | false | |||||||||
| contract | currentContractTime | Дата укладення та закінчення та строк дії договору оренди | Current tenant contract's terms | base.LifeTimeContract | false | + | |||||||
| monthlyRentSum | Місячна оренда плата | Monthly rent | base.Value | false | + | minimum: 0.01 | |||||||
| rentedArea | Орендована площа | Rented area | float | false | - | minimum: 0.01 | |||||||
| base.LifeTimeContract | dateFrom | Період з | Date from | string($date-time) | false | + | |||||||
dateTill | Період по | Date till | string($date-time) | false | + | ||||||||
term | Строк дії | Term | string | false | + | example: P2Y11M x-format: duration використання формату ISO_8601 https://en.wikipedia.org/wiki/ISO_8601#Durations | |||||||
| essentialImprovements | essentialCost | Вартість невідʼємних поліпшень | Cost of essential Improvements | base.Value | false | + | |||||||
| improvementsTime | Дата завершення невідʼємних поліпшень | Completion date | base.LifeTimeImprovements | false | |||||||||
| compensationTerms | Умови компенсації | Terms of compensation | string | false | + | ||||||||
| essentialConsent | Рішення про згоду на невідʼємні поліпшення | Decision to consent to essential improvements | string | false | + | ||||||||
orderCost | Наказ про затвердження висновку про вартість об’єкта приватизації | Order on approval of the conclusion on the cost of the privatization object | string | false | + | ||||||||
| base.LifeTimeImprovements | dateFrom | Період з | Date from | string($date-time) | false | - | |||||||
dateTill | Період по | Date till | string($date-time) | false | + | ||||||||
term | Строк дії | Term | string | false | - | example: P2Y11M x-format: duration використання формату ISO_8601 https://en.wikipedia.org/wiki/ISO_8601#Durations | |||||||
pipelineMethod
- сompensation_announcement - rectificationPeriod: 2days, процедура smallPrivatization-english
- сompensation_announcement-fast - rectificationPeriod: 2mins, процедура smallPrivatization-english-fast
- сompensation_announcement-manual - rectificationPeriod: 10mins, процедура smallPrivatization-english-manual
- сompensation_announcement-ultrafast - rectificationPeriod: 5secs, процедура smallPrivatization-english-fast
Майданчикам
Загальна схема процесу публікації Інформаційного Повідомлення
Схема “Загальний процес продажу об'єктів малої приватизації”
Функціонал ролей в рамках періодів
Схема “Timeline Інформаційного Повідомлення”
Повідомлення щодо публікації інформаційного повідомлення
- Організатору
- Коли - після створення Інформаційного Повідомлення в ЦБД та набуття їм статуса “Опубліковано” (pending)
- Що - Інформаційне повідомлення опубліковане. Ви можете виправити технічні помилки протягом 48 годин після публікації.
- Коментарі - Повідомлення надходить протягом 5 хв.
Повідомлення щодо редагування Інформаційного Повідомлення
- Організатору
- Коли - після збереження змін у Інформаційному Повідомленні або Об’єкті, які зроблені протягом rectificationPeriod
- Що - Зміни в Інформаційному Повідомленні успішно виконані
- Коментарі - Повідомлення надходить протягом 5 хв.
Повідомлення щодо розформування Інформаційного Повідомлення
- Організатору
- Коли - після набуття Інформаційним Повідомленням статусу “Об’єкт не продано” (dissolved)
- Що - Інформаційне повідомлення розформовано. Для продовження продажу Об'єкта малої приватизації створіть нове Інформаційне Повідомлення
- Коментарі - Повідомлення надходить протягом 5 хв.
- сompensation_announcement - rectificationPeriod: 2days, процедура smallPrivatization-english
- сompensation_announcement-fast - rectificationPeriod: 2mins, процедура smallPrivatization-english-fast
- сompensation_announcement-manual - rectificationPeriod: 10mins, процедура smallPrivatization-english-manual
- сompensation_announcement-ultrafast - rectificationPeriod: 5secs, процедура smallPrivatization-english-fast