Загальний огляд Контрактингу
Мета створення та нормативні засади
З метою публікації інформації про виконання умов договору приватизації в ЦБД-2 (оновленій) буде реалізовано сервіс Контрактингу.
Робота з сервісом Контактингу розпочинається після успішного завершення Процедури, або через 48 годин після публікації інформації про Пріоритетний Викуп.
У сервісі Контрактингу публікується інформація про внесені зміни до договору приватизації та результати виконання договору приватизації: зняття договору з контролю або інформацію про розірвання договору та поверннення Об’єкту в державну (комунальну) власність.
В рамках Prozorro.Sale буде реалізовано окрему сутність execution для об'єктів великої та малої приватизації.
Документ з вимогами до майданчиків
TODO
Особливості функціоналу Контрактингу
Особливості сутності Контрактинг у ЦБД-2 (оновленій)
- Створення та робота із Контрактингом:
- Сутність Контрактингу створюється автоматично у ЦБД після успішного завершення будь-якої Процедури із ланцюжка Інформаційного Повідомлення (announcement) АБО через 48 годин після створення сутності Пріоритетного Викупу (redemption).
- При створенні сутності Execution в ньому зберігається посилання на Asset (execution.relatedEntities.type == asset), в Asset передається посилання на пов’язаний Execution (asset.relatedEntities.type == execution);
- При створенні сутності Execution в ньому зберігається посилання на пов'язаний Announcement (execution.relatedEntities.type == announcement), в пов'язаному Announcement зберігається посилання на створений Execution (announcement.relatedEntities.type == execution). Якщо продаж відбувався шляхом Пріоритетного Викупу (redemption), то Execution має мати посилання на Redemption (redemption.relatedEntities.type == execution).
- При створенні Execution, із успішної Процедури чи із сутності Redemption копіюються поля + документи сутності contracts. Цей Execution.contracts створюється у статусі Execution.contracts.status: active;
- Створити новий Execution.contracts є можливість тільки коли Execution перебуває у Execution.status: active. При створенні нового Execution.contracts ця сутність має статус pending.
Структура даних
Посилання на конфігураційний файл
Періоди і статуси
Конфігураційний файл з статусами (legal_name)
Бізнес процес виконання умов договору приватизації
Функціонал ролей в рамках періодів
Статуси сутності Execution
Схема “Модель статусів Контрактингу”
Очікує приватизації
- Технічний ідентифікатор: pending
- Функціонал Організатора:
- Скасування контрактингу (“Наказ не підписано”);
- Можливість редагувати поле title сутності Execution без завантаження додаткових документів,
- Можливість завантажувати документи до Execution.order.documents.
- Можливість опублікувати наказ про приватизацію (переведення execution з статусу pending в статус active)
- Умови набуття статусу:
- Автоматично. Як тільки Announcement набуває статусу announcement.status: active_contracting, сутність Execution створюється у статусі pending з contract в статусі active;
- Автоматично. Як тільки сутність Redemption набуває статусу redemption.status: active_contracting, сутність Execution створюється у статусі pending з contract в статусі active;
- Умови зміни статусу:
- Ручна дія. Натискання кнопки “Опублікувати наказ” має змінити статус з pending на active. На стороні ЦБД має бути валідація перед переводом Execution у статус active на те, що завантажено обов'язковий документ order.documents.documentType == order; Не обов'язкова дія - заповнення полів order.number, order.comment, order.dataSigned. Якщо order.dataSigned не передано у запиті, то ЦБД заповнить це поле == currentDate;
- Ручна дія. Натискання кнопки “Наказ не підписано”. Для переведення Exetution із статуса pending у deleted необхідно передати на ЦБД сутність cancellations. Детально;
- Опис:
- Після набуття статусу pending сутність Execution стає доступною для всіх Спостерігачів.
- Коментар:
- Весь час, поки сутність Execution знаходиться у статусі pending, статус Asset.status: active_contracting;
- Весь час, поки сутність Execution знаходиться у статусі pending, статус Announcement / Redemption.status: active contracting;
- При публікації сутності Execution у ЦБД до Об’єкта МП має передаватись посилання на створену сутність (asset.relatedEntities.type == execution);
- Одночасно у Об’єкта може бути тільки одна сутність Execution у статусі pending, active та sold та необмежена кількість у статусі deleted.
Приватизація Об’єкта завершена
- Технічний ідентифікатор: active
- Функціонал Організатора:
Можливість створювати новий contract з заповненням відповідних полів:
- contract.contractNumber
- contract.title
- contract.description
- contract.contractTotalValue
- contract.buyers (поле buyers.name автозаповниться із поля buyers.identifier.legalName. У запиті на створення нового contract передавати поле buyers.name НЕ потрібно.)
- contract.documents
- contracts.contractTime
- завантаження нових документів до contracts.documents;
(На стороні Майданчиків необхідно реалізувати при створенні нового contract у Execution копіювання всіх полів із попереднього з можливістью редагування у новому contract і дозаватнаження документа additionalAgreement та contractAnnexe (опціонально))
Видалення чи редагування полів contract (доступно для contract в статсусі pending).
Заміна або завантаження документів contract (доступно для contract в статсусі pending).
Створення нової сутності contract в статусі pending, якщо немає раніше опублікованої сутності contract в статусі pending.
Переведення сутності contract в статусі pending в статус active.
Можливість редагувати поле title сутності Execution без завантаження додаткових документів.
Можливість завантажувати документи до Execution.completion.documents
Можливість скасувати продаж (для переведення з статусу active в статус deleted можна тільки за умови додавання документу cancellationDetails)
Можливість підтвердити успішне виконання умов приватизації (переведення execution з статусу active в статс sold, за умови, що заповнено всі обов'язкові поля та завантажено документи в execution.completion.documents)
- Умови набуття статусу:
- Ручна дія. Натискання кнопки “Опублікувати наказ” має змінити статус з pending на active. На стороні ЦБД має бути валідація перед переводом Execution у статус active на те, що завантажено обов'язковий документ order.documents.documentType == order; Не обов'язкова дія - заповнення полів order.number, order.comment, order.dataSigned. Якщо order.dataSigned не передано у запиті, то ЦБД заповнить це поле == currentDate;
- Умови зміни статусу:
- Ручна дія. Натискання кнопки “Умови приватизації виконано” має змінити статус сутності Execution з active на sold. На стороні ЦБД має бути валідація перед переводом Execution у статус sold на те, що завантажено обов'язковий документ decontrolReason; Не обов'язкова дія - заповнення полів Execution.completion.
- Ручна дія. Натискання кнопки “Договір розірвано”. Для переведення Exetution із статуса active у deleted необхідно передати на ЦБД сутність cancellations. Детально;
- Опис: Статус потрібен для контролю за виконанням кроку по завантаженню документа з умовами приватизації.
- Коментар:
- Весь час, поки сутність Execution знаходиться у статусі active, статус Asset.status: active_contracting;
- Весь час, поки сутність Execution знаходиться у статусі active, статус Announcement / Redemption.status: active contracting.
Умови приватизації виконано
- Технічний ідентифікатор: sold
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу:
- Ручна дія. Натискання кнопки “Умови приватизації виконано” має змінити статус сутності Execution з active на sold. На стороні ЦБД має бути валідація перед переводом Execution у статус sold на те, що завантажено обов'язковий документ decontrolReason. Не обов'язкова дія - заповнення полів Execution.completion;
- Умови зміни статусу: термінальний статус
- Опис: статус свідчить про те, що Переможець виконав умови приватизацій.
- Коментар:
- Як тільки сутність Execution набуває статусу sold, статус Asset.status: complete;
- Як тільки сутність Execution набуває статусу sold, статус Announcement / Redemption.status: sold.
Продаж скасовано
- Технічний ідентифікатор: deleted
- Функціонал Організатора: функціонал відсутній
- Умови набуття статусу:
- Ручна дія. Натискання кнопки “Наказ не підписано”. Для переведення Exetution із статуса pending у deleted необхідно передати на ЦБД сутність cancellations;
- Ручна дія. Натискання кнопки “Договір розірвано”. Для переведення Exetution із статуса active у deleted необхідно передати на ЦБД сутність cancellations.
Детально:
- Якщо Execution.status = pending, то для зміни статуса на deleted
- НЕ обов'язково завантажувати документ cancellationDetails.
- Обов'язково заповнення поля cancelations.reason (multiLang - довільний рядок, без довідника)
- НЕ обов'язково заповнення cancellations.datePublished.
- Якщо Майданчик не передав datePublished, то на рівні ЦБД має записатися поточна дата;
- Якщо Майданчик передав datePublished, то відбувається валідація, що дата не менше, ніж дата створення Execution (execution.datePublished)
- Якщо Execution.status = active, то для зміни статуса на deleted
- Обов'язково завантажувати документ cancellationDetails.
- Обов'язково заповнення поля cancelations.reason (multiLang - довільний рядок, без довідника)
- НЕ обов'язково заповнення cancellations.datePublished.
- Якщо Майданчик не передав datePublished, то на рівні ЦБД має записатися поточна дата;
- Якщо Майданчик передав datePublished, то відбувається валідація, що дата більше, ніж дата створення Execution (execution.datePublished < cancellations.datePublished < current_date (не майбутне)).
ЦБД при отриманні коректного запиту cancellations автоматично змінює статус на deleted.
Надсилати окремий запит на зміну статуса, після того, як надіслано cancellations НЕ потрібно.
- Умови зміни статусу: термінальний статус
- Опис: статус відповідає скасованому Контрактингу.
- Коментар:
- При набутті сутністью Execution статусу deleted, ЦБД автоматично змінює статус Asset.status: pending;
- При набутті сутністью Execution статусу deleted, ЦБД автоматично змінює статус пов’язаного Announcement / Redemption.status: deleted;
- При набутті сутністью Execution статусу deleted, статуси Execution.contracts не змінюються і залишаються ті, які були до моменту переходу Execution у статус deleted.
Статуси Договору (contracts)
Актуальний
- Технічний ідентифікатор: active
- Функціонал Організатора: відсутній.
- Умови набуття статусу:
- Автоматично. При створенні сутності Execution із Процедури, яка завершилася Успіхом, поля contract копіюються у Execution (набір полів contract + обов'язковий документ contractSigned);
- Автоматично. При Пріоритетному Викупі (Redemption) поля contract копіюються у Execution із відповідних полів Redemption (набір полів contract + обов'язковий документ contractSigned);
- Ручна дія. Як тільки Організатор підтверджує актуальність Договору в статусі pending (за умови, що заповнено обов'язковий набір полів contract + завантажено обов'язковий документ additionalAgreement). Статус попереднього міняється з active на cancelled, а статус нового contract змінюється за pending на active.
- Опис: статус відповідає актуальному Договору.
Опублікований
- Технічний ідентифікатор: pending
- Функціонал Організатора:
- Видалення чи редагування полів contract доступно для contract в статсусі pending.
- Заміна або завантаження документів contract (доступно для contract в статсусі pending).
- Створення нової сутності contract в статусі pending, якщо немає раніше опублікованої сутності contract в статусі pending.
- Переведення сутності contract в статусі pending в статус active.
- Умови набуття статусу:
- Рцчна дія. Як тільки Організатор публікує новий Договір (обов'зковий набір полів contract + документ additionalAgreement (опціонально)) створюється в статсусі pending.
- Опис: Опублікувати новий Договір можливо тільки, якщо в ЦБД відсутній договір в статсусі pending.
Архівний
- Технічний ідентифікатор: cancelled
- Функціонал Організатора: відсутній.
- Умови набуття статусу:
- Автоматично. Як тільки Організатор підтверджує актуальність Договору в статусі pending (набір полів contract + обов'язковий документ additionalAgreement). Статус попереднього міняється з active на cancelled, а статус нового contract змінюється за pending на active.
- Опис: Термінальний статс, статус відповідає скасованому Договору.
Якщо Execution переходить у статус deleted, то статуси Execution.contracts залишаються без змін.
Опис періодів
Сутність Контрактингу не має Періодів.
У моделі даних Execution присутнє поле dateTill.contractcontract.execution, значення якого має копіюватись:
- із Процедури із поля dateTill.contracts.contractTime.procedure за умови продажу шляхом Аукціонів (ланцюжок ІП); АБО
- із сутності Пріоритетного Викупу із поля dateTill.contracts.contractTime.redemption за умови продажу шляхом Пріоритетного Викупу;
Особливості поля для майданчиків: Якщо до настання dateTill.contractcontract.execution контрактинг (execution) не знаходиться в термінальному статусі, тоді при настатнні dateTill.contractcontract.execution Організатор отримує сповіщення “Строк виконання умов договору про приватизацію завершився. Необхідно внести рішення про результати виконання умов договору”. Поле dateTill.contracts.contractTime може бути порожнім, в такому випадку сповіщення не надсилається.
Типи, опис документів та робота з ними
Документи до наказу про приватизацію (Execution.order)
order
- Legal Name UA - Наказ про приватизацію
- Legal Name EN - Privatization order
- Опис - Наказ, виданий органом приватизації, про прийняття рішення про приватизацію
- Обов'язковість - Так, для переходу із статусу pending у статус active
- Публічність - Так
addition
- Legal Name UA - Додаток
- Legal Name EN - Addition
- Опис - Додаток до наказу про приватизацію
- Обов'язковість - Ні
- Публічність - Так
Документи виконання умов приватизації (Execution.completion)
decontrolReason
- Legal Name UA - Підстави для зняття з контролю
- Legal Name EN - Grounds for decontrol
- Опис - Документ, що підтверджує наявність підстав для зняття договору з контролю (акт підсумкової перевірки, рішення суду, тощо) та повернення об’єкта в державну (комунальну) власність
- Обов'язковість - Так, для переходу із статусу active у статус sold
- Публічність - Так
addition
- Legal Name UA - Додаток
- Legal Name EN - Addition
- Опис - Додатокові відомости щодо підстав для зняття з контролю
- Обов'язковість - Ні
- Публічність - Так
Документи до Договору (contract.documents)
contractSigned
- Legal Name UA - Підписаний договір
- Legal Name EN - Signed contract
- Опис - Підписаний договір
- Обов'язковість - Так, для 1-го contract, автоматично створеного з процедури, що завершилася успішно
- Публічність - Так
contractNotice
- Legal Name UA - Повідомлення про договір
- Legal Name EN - Contract notice
- Опис - Офіційне повідомлення, що містить деталі договору
- Обов'язковість - Ні
- Публічність - Так
contractAnnexe
- Legal Name UA - Додатки до договору
- Legal Name EN - Contract annexe
- Опис - Додатки до договору
- Обов'язковість - Ні
- Публічність - Так
additionalAgreement
- Legal Name UA - Додаткова угода
- Legal Name EN - Additional Agreement
- Опис - Додаткова угода
- Обов'язковість - Так, при переведенні contract з статусу pending в active
- Публічність - Так
Документи для скасування приватизації
cancellationDetails
- Legal Name UA - Причини непідписання наказу
- Legal Name EN - Cancellation details
- Опис - Інформація щодо причин непідписання наказу про приватизацію
- Обов'язковість - Так, для скасування Контрактингу
- Публічність - Так
Загальні документи:
digitalSignature
- Legal Name UA - Цифровий підпис
- Legal Name EN - Digital signature
- Опис - Цифровий підпис
- Обов'язковість - Ні
- Публічність - Набуває значення документу з яким пов'язаний
Логіка полів, що копіюються у Execution із Процедури / Пріоритетного Викупу
- contract
- Автоматично копіюється із Процедури, яка завершилася Успіхом. АБО
- Автоматично копіюється із Redemption, якщо продаж відбувався шляхом Пріоритетного Викупу.
- Можливість створити contract в статсусі pending у сутності Execution з можливістю редагувати, без можливості видалити.
- Для сутності Execution одночасно може бути створений тільки один contract в статсусі pending.
- При створенні нового масиву полів contract у Execution, ново-створений набуває статусу pending після публікації у ЦБД. попередній переходить у статус cancelled.
- Організатор може вручну перевести сontract, що знаходиться в статусі pending в статус active, при цьому ЦБД автоматично переводить контракт, що був в статусі active в статус cancelled.
- На стороні Майданчиків необхідно реалізувати при створенні нового contract у Execution копіювання всіх полів із contract у статусі active з можливістью редагування у новому contract і дозаватнаження документа additionalAgreement та contractAnnexe.
- Для переведення сутності contract з статусу pending в active має бути завантажений обов'язковий документ additionalAgreement.
- У однієї сутності Execution може бути декілька масивів полів contract:
- а статусі cancelled - необмежену кількість;
- в статусі active - один;
- в статусі pending - один.
- Сontract в статусі pending можна редагувати необмежену кількість разів (змінювати дані в полях та завантажувати/замінювати документи), для того щоб зміни були збережені неоюхідно, щоб всі обо'язкові поля contract були заповнені.
Загальні документи по розробці
Особливості роботи із сутностями та документами Особливості роботи із цифровим підписом
Схеми по роботі з Контрактингом
Схема “Загальний процес при приватизації шляхом створення Аукціонів” Схема “Загальний процес при приватизації шляхом Пріоритетного Викупу” Верхньорівневий бізнес процес взаємодії контрактингу ІП та реєстру Схема "Модель статусів contract"
Повідомлення
Повідомлення щодо публікації сутності Контрактингу
- Організатору
- Коли - після створення сутності Контрактинг в ЦБД та набуття статуса “Очікує приватизації” (pending)
- Що - Продаж успішно завершено. Перехід до Виконання умов приватизації
- Коментарі - Повідомлення надходить протягом 5 хв.
Повідомлення щодо редагування сутності Контрактингу
- Організатору
- Коли - після збереження змін у сутності Контрактинг
- Що - Зміни в договорі приватизації успішно опубліковані
- Коментарі - Повідомлення надходить протягом 5 хв.
Повідомлення щодо деактивації сутності Контрактингу
- Організатору
- Коли - після набуття сутністю Контрактингу статусу “Продаж скасовано” (deleted)
- Що - Приватизацію скасовано. Для продовження продажу Об'єкта малої приватизації створіть нове Інформаційне Повідомлення або приватизацію шляхом Приоритетного Викупу
- Коментарі - Повідомлення надходить протягом 5 хв.