SAC (master object) ├── Procedure #1 (англійський) ├── Procedure #2 (-50% від стартової) ├── Procedure #3 (голландський з -50% від першого) └── Procedure status controller
Загальний огляд sanctionedAuctionChain
Мета створення сутності та нормативні засади
З метою автоматичного перевиставлення лотів, що відповідає Постанові №75 від 21 січня 2026 в системі Prozorro.Sale на сервісі Jobber реалізовано нову сутність з pipelineMethod: sanctionedAuctionChain
Бізнес назва - Процес реалізації санкційного активу
Глоссарій
Особливості
Створення та робота із ланцюжком:
- При створенні ланцюжка немає повʼязаного обʼєкта типу "Обʼєкт реєстру". Обʼєкт SAC - перший обʼєкт, який створюється на ЦБД в процесі реалізації Санкційного майна
- При створенні ланцюжка Організатор має вказати:
- Дату аукціону для першої процедури
- Період експозиції (tenderPeriod) для другої і третьої процедури в ланцюжку (присутні валідації, які детально описані нижче)
- При створенні ланцюжка Організатор має вказати Стартову ціну реалізації для першого аукціону, а для другого і третього ЦБД розрахує автоматично згідно описаних нижче правил.
- В ланцюжку зберігаються ідентифікатори Процедур, які були автоматично створені цим ланцюжком
- Лацюжок складається максимум з трьох процедур, де кожна наступна процедура створюється автоматично за умови, що попередня процедура "неуспішна"
ПИТАННЯ
- (Андрій)
Чи будемо відображати сутність "Процес реалізації санкційного активу" на Порталі чи на будь-якому іншому фронті?
Ця сутність може бути суто технічна і існувати для автоматизації створення процедур.
В такому випадку не бачу потреби розділяти статуси "успішний" та "неуспішний" процес. Процес (ланцюжок) або "діючий", або "закритий"
2. (Діма)
Якщо Джоббер створив Процедуру і Орг редагує процедуру (наприклад Стартову ціну), то чи зможе Джобер, коли буде створювати другу процедуру забрати із першої Стартову ціну, а не із мастер-обʼєкта?
3. (Андрій)
В Нормативці вказано: Оголошення про проведення аукціону, що публікується організатором аукціону, повинно містити такі відомості: ...
стартова ціна активу для кожного аукціону;
розмір гарантійного внеску електронного аукціону для кожного аукціону;
Просимо Орга передавати в запиті вже розраховані поза системою значення для всіх трьох процедур?
Або розраховуємо самі при авто-публікації, а Орга просимо передати тільки для першої? В нормативці написано, що має передати для кожної.
Про гарантійку
гарантійний внесок - сума коштів (5 відсотків стартової ціни, якщо вона дорівнює або перевищує 250 млн. гривень, або 20 відсотків стартової ціни, якщо вона є меншою, ніж 250 млн. гривень)
Реєстраційний внесок поривєязаний дл мін ЗП і ми також його не валідуємо, а віддаємо на Майданчик.
Обʼєкт SanctionedAuctionChain
Статуси обʼєкта
| tech | УКР назва | АНГЛ назва | Перехід з | За умови | Коментар |
|---|---|---|---|---|---|
| pending | Опубліковано | Created | - | перший статус, який отримує обʼєкт при публікації | Статус, в якому перебуває обʼєкт до моменту створення першої процедури в ланцюжку Дії Організатора відсутні (тому що планую максимально швидко створювати повʼязану першу процедуру) |
| active_auction | Проходить аукціон | Auction | pending | Створено першу процедуру в ланцюжку | Обʼєкт має цей статус з моменту створення першої процедури в ланцюжку і до моменту, поки:
|
| finished | Завершено | Finished | active_auction | Третя в ланцюжку процедура набуває статусу procedure.status: complete OR unsuccessful
Будь-яка процедура в цьому ланцюжку набуває статусу procedure.status: cancelled | Термінальний статус |
Періоди обʼєкта
Періоди відсутні
Документи обʼєкта
При публікації обʼєкта SAС необхідно передати документи першої Процедури ланцюжка.
Перелік документів описано в ТЗ до Процедури ТУТ
Логіка роботи Ланцюжка
Організатор публікує обʼєкт SAC, в якому передає:
- всі поля, які потрібні для публікації першої англійської процедури (перелік полів ТУТ)
- період експозиції (в днях) для другої процедури
- період експозиції (в днях) для третьої процедури
- розмір гарантійного внеску для другої процедури (в грн)
- розмір гарантійного внеску для третьої процедури (в грн)
Після успішно опублікованого обʼєкта SAC, протягом ХХ хвилин автоматично створюється перша процедура.
Організатор може редагувати в SAC поля:
- період експозиції (в днях) для другої процедури
- розмір гарантійного внеску для другої процедури (в грн)
до моменту створення другої процедри в ланцюжку.
Організатор може редагувати в SAC поля:
- період експозиції (в днях) для третьої процедури
- розмір гарантійного внеску для третьої процедури (в грн)
до моменту створення третьої процедри в ланцюжку.
Організатор може редагувати поля створеної процедури протягом 48 годин. Зміни потрібно робити безпосередньо в створеній процедурі, а не в обʼєкті SAC. В SAC редагуються тільки два вищевказані параметри.
Редагування Процедури згідно ТЗ процедури ТУТ. Вся логіка процедури залишається без змін.
Якщо перша процедура в ланцюжку отримала статус unsuccessful, то протягом ХХ хвилин створюється друга процедура, в яку копіюються значення полів із першої процедури.
Стартова ціна для другої процедури розраховується в момент її створення, як Стартова ціна першої процедури на момент створення другої * 0,5
Деталі і приклади розрахунку стартової ціни описані в розділі "Поля що розраховуються автоматично при створенні другої і третьої процедури"
При авто-створенні другої процедури у ланцюжку ЦБД має автоматично для другої процедури проставити tenderAttempt: 2 та у полі previousAuctionId проставити ID першої процедури із ланцюжка
Поля що розраховуються автоматично при створенні другої і третьої процедури
Абзац 70.
70. Якщо електронний аукціон за методом підвищення ціни визнаний таким, що не відбувся, електронна торгова система автоматично оголошує повторний аукціон за методом підвищення ціни із зниженням стартової ціни на 50 відсотків, який проводиться не раніше ніж на двадцятий та не пізніше ніж на тридцять п’ятий день з дати його оголошення (стосовно активу, стартова ціна якого становить менше 250 млн. гривень) або не раніше ніж на тридцятий та не пізніше ніж на дев’яностий день з дати його оголошення (стосовно активу, стартова ціна якого більше або дорівнює 250 млн. гривень).
Абзац 10.1
1) сума, що закінчується від 0,0001 до 0,4999 копійки, заокруглюється в бік зменшення до найближчої суми, яка дорівнює цілій копійці;
2) сума, що закінчується від 0,5 до 0,9999 копійки, заокруглюється в бік збільшення до найближчої суми, яка дорівнює цілій копійці.
Правила заокруглення:
Якщо стартова ціна 11,11 грн, то стартова другого має бути 5,56 грн
Якщо стартова 88,73, то для другого - 44,37 грн
Структура даних обʼєкта SAC
| field name | required for publishing | type | readOnly | x-legalNameUa | x-legalNameEn | comment | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | owner | - | string | true | Ідентифікатор майданчика | Broker Name | |||||||||||||||||||||||
| 2 | ownerToken | - | string($uuid) | true | x-default: hex | ||||||||||||||||||||||||
| 3 | _id | - | string | true | Внутрішній ідентифікатор | ID | x-default: object_id x-serialize_when_none: false x-format: object-id | ||||||||||||||||||||||
| 4 | datePublished | - | string($date-time) | true | Дата публікації | Published date | x-default: now | ||||||||||||||||||||||
| 5 | dateModified | - | string($date-time) | true | Остання дата зміни | Date modified | |||||||||||||||||||||||
| 6 | objectId | - | string | true | Ідентифікатор ланцюжка | Chain ID | example: SAC001-UA-20260217-12345 | ||||||||||||||||||||||
| 7 | pipelineMethod | + | string | false | Тип | Chain type | enum:
| ||||||||||||||||||||||
| 8 | sellingEntity | base.SellingEntity | Інформація про Організатора аукціону | Organizer information | Використовується стандартна модель Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||||
| 9 | title | + | base.MultiLang | false | Назва аукціону | Auction title | Використовується стандартна модель Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 10 | description | + | base.MultiLang | false | Опис аукціону | Auction description | Використовується стандартна модель Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 11 | x_documentRequirements | - | base.MultiLang | false | Перелік та вимоги до оформлення документів | List and requirements of registration documents | Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 12 | x_additionalInformation | - | base.MultiLang | false | Додаткові відомості | Other requirements and additional information | Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 13 | saleCondition | + | string | false | Наявність умов продажу | Sale conditions | enum: yes, no Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 14 | value | + | base.ValueWithTax | false | Стартова ціна | Start price | Використовується стандартна модель
Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку відбувається авторозрахунок згідно правил | ||||||||||||||||||||||
| 15 | valueAddedTaxCharged | - | boolean | false | На фінальну суму нараховується ПДВ | Value added tax charged | default: false При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 16 | guarantee | + | list[ ] of objects base.Value | false | Розмір гарантійного внеску | Guarantee Fee | Очікуємо в запиті три обʼєкта guarantee для кожної із процедур ланцюжка відповідно
Постанова гарантійний внесок - сума коштів:
| ||||||||||||||||||||||
| 17 | registrationFee | + | base.Value | false | Розмір реєстраційного внеску |
Постанова Реєстраційний внесок - плата за реєстрацію заяви про участь в аукціоні, що вноситься особою, яка має намір взяти участь в аукціоні, на відповідний рахунок оператора, у розмірі
Залишаємо на відповідальність Майданчика. ЦБД отримує значення і не валідує їх Тільки, що значення >0 При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | |||||||||||||||||||||||
| 18 | minNumberOfQualifiedBids | - | integer($int64) | false | Мінімальна кількість заяв | Minimal number of bids | default: 1 minimum: 1 maximum: 2 При публікації обʼєкта можна не передавати. ЦБД автоматично згенерує == 1. Організатор може передати явно 1 або 2 за необхідності. При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 19 | minimalStep | + | base.Value | false | Розмір кроку аукціону | Minimal step | Використовується стандартна модель При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 20 | accessDetails | - | base.MultiLang | false | Порядок ознайомлення з майном, час і місце проведення огляду об’єкта | Auction access details | Використовується стандартна модель Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 21 | bankAccounts | + | sanctionedAssets.BankAccountsByType | false | Банківські рахунки організатора | Bank accounts | Використовується стандартна модель Обов'язково один банківський рахунок з типом guarantee і валютою UAH. Рахунків для кожного типу в UAH/USD/EUR може бути безліч.
Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 22 | tenderAttempts | + | integer($int64) | true | Лот виставляється | Attempt number | default: 1 При публікації SAC не очікуємо в запиті поля tenderAttempts. При авто-публікації першої процедури ЦБД має проставити: 1-й процедурі: tenderAttempts = 1 2-й процедурі: tenderAttempts = 2 та у полі previousAuctionId значення auctionId від першої процедури цього ланцюжка 3-й процедурі: tenderAttempts = 3 та у полі previousAuctionId значення auctionId від другої процедури цього ланцюжка | ||||||||||||||||||||||
| 23 | lotId | + | string | false | Номер лота | Lot number | Очікуємо цей параметр в запиті на публікації SAC При авто-створенні першої процедури копіюємо значення в неї. При авто-створенні другої та\або третьої процедури в ланцюжку копіюємо це значення із попередньої процедури ланцюжка | ||||||||||||||||||||||
| 24 | items | + | sanctionedAssets.Item | false | Склад лота | Lot composition | Використовується стандартна модель x-format: list-object | ||||||||||||||||||||||
| 25 | dutchStep | + | base.DutchStep | Крок голландського раунду | Dutch step | Поля dutchStepPercent та dutchStepValue автогенеруються на рівні ЦБД, без можливості внесення змін Організатором
| |||||||||||||||||||||||
| 26 | documents | + | base.Documents | false | Всі документи аукціону та пов'язані додатки | Documents | Використовується стандартна модель x-format: list-object | ||||||||||||||||||||||
| 27 | extraSpecs |
| |||||||||||||||||||||||||||
| 28 | status | - | string | true | Статус процедури | Procedure status | enum: | ||||||||||||||||||||||
| 29 | _meta | Використовується стандартна логіка | |||||||||||||||||||||||||||
| 30 | additionalInformation | Використовується стандартна логіка | |||||||||||||||||||||||||||
| 31 | metaInfo | Використовується стандартна логіка |
extraSpecs
| field name | required for publishing | type | readOnly | x-legalNameUa | x-legalNameEn | comment | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| periods | base.PeriodSpec | Інформація про періоди аукціонів |
| ||||||||||||||||||||||||||||||||