Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Об'єктом продажу є пул активів
  2. Мінімальна кількість заяв для можливості успішного проведення аукціону за замовчуванням minNumberOfQualifiedBids = 1, але у Організатор присутня можливість при публікації процедури передати minNumberOfQualifiedBids =2. 
    1. Якщо заява тільки одна, то для викупу сума цінової пропозиції має бути не менше стартової ціни (просто стартова ціна, не стартова+крок)
    2. У випадку проведення аукціону і наявності більше 1 учасника, переможна пропозиція під час МА має бути не менше ніж стартова ціна + крок.
  3. Учасник, який не став переможцем (авард в статусі pending_waiting), не може відмовитись від очікування. 
  4. Аукціон:
    • англійський аукціон
  5. На перших порах відповідальність за публікацію ланцюжку процедур буде на організаторі. Є додаткові умови при публікацїі ланцюжку процедур.Процедура публікується з ланцюжка JSC
  6. В процедурі є додаткові умови продажу, буде додано поле saleCondition (можливі значення yes, no)
  7. Наявність в аварді додаткового поля, що відповідає за підтвердження оплати awards.paymentReceived (true, false)
  8. Скасування аукціону відбувається на будь-якому етапі
  9. Якщо tenderAttempts = 1, то поле previousAuctionId не використовується.
    Якщо tenderAttempts > 1 поле previousAuctionId використовується та є обов'язкове; АЛЕ на старті не обмежуємо ніяк через Regexp який саме має бути ID попередньої процедури (бо це може бути як SAE, так і SPE / SPD, BSE / BSD тощо. Таке може бути виходячи з того, що написано в нормативці)
    Процедури 2 та 3 повинні створюватися автоматично системою після завершення попередньої процедури в ланцюжку зі статусом unsuccessful
  10. Для допуску дискваліфікованого учаснику до повторного аукціону потрібнен документ admissionReason - в нормативці прямо це не зазначено, але така можливість погоджена з Андрієм
  11. Документи процедури, заяви на участь, аварда, контракта найбільш наближені до документів процедури великої приватизації 
  12. Якщо завершився будь-який з періодів етапу кваліфікації, ЦБД не робить автоматично ніяких змін в процедурі. 

...

  • 07000000-9 – Права вимоги за кредитними договорами та усі вкладені коди
  • 08000000-06 – Корпоративні права та усі вкладені коди

...

Технічна назваБізнесова назваПерехід зЗа умовиКоментар
active_tenderingПрийняття заяв на участьВ момент публікації процедури в ЦБД

Автоматично.

Заповнені всі обовʼязкові поля для створення процедури в ЦБД

Майданчик Організатора робить POST запит до ЦБД та передає об'єкт процедуриЗа умови наявності мастер-об'єкту JSC.

У разі правильно сформованого об'єкта процедури, ЦБД повертає майданчику id та token створеного об'єкта процедури, процедура набуває статус статус active_tendering

active_auctionАукціонactive_tendering

Автоматично. 

Завершився період Прийняття заяв на участь і протягом періоду прийшло мінімум 2 учасники

Після публікації процедури ЦБД визначає час початку аукціону в дату, яку вказав Організатор в полі auctionPeriod.startDate.

В момент tenderPeriod.endDate ЦБД перевіряє наявність необхідної кількості заяв на участь і якщо:

  • minNumberOfQualifiedBids == 1
    • Прийшов один бід: ЦБД змінює статус процедури з active_tendering → active_qualification
    • Прийшли більше 1 біда: ЦБД змінює статус процедури з active_tendering → active_auction
  • minNumberOfQualifiedBids == 2
    • Прийшов один бід: ЦБД змінює статус процедури з active_tendering на unsuccessful
    • Прийшли більше 1 біда → ЦБД змінює статус процедури з active_tendering на active_auction
active_qualificationОчікується опублікування протоколу

active_tendering

АБО

active_auction

АБО

pending_payment

АБО

active_awarded

Автоматично.

Завершився період Прийому пропозицій (tenderPeriod.endDate) і була подана лише 1 заява на участь (при умові minNumberOfQualifiedBids=1) 

АБО

Автоматично.

Завершилась робота Модуля аукціону (auctionPeriod.endDate)

АБО

Автоматично.

Організатор дискваліфікував Переможця до оплати.

АБО

Автоматично.

Організатор дискваліфікував Переможця після оплати, до підписання Договору.

Після завершення періоду подання пропозицій (tenderPeriod), за умови 1-ї заяви на участь (minNumberOfQualifiedBid=1)

АБО

По завершенню періоду аукціону (auctionPeriod), за умови 2-х та більше заяв на участь - 

  • ЦБД змінює статус процедури на “Очікується опублікування протоколу” ( → active_qualification)
  • ЦБД автоматично створює awards[]
    • awards[0].status: pending
    • awards[1].status: pending_waiting
pending_paymentОчікується оплата

active_qualification

Ручна дія.

Організатор завантажив підписаний протокол та натиснув кнопку на інтерфейсі майданчика "Протокол затверджено"

Організатор завантажує підписаний протокол та натискає кнопку "Протокол затверджено". Після цієї дії відбувається наступне: 

  • ЦБД змінює статус процедури на "Очікується оплата" (→ pending_payment)
  • ЦБД змінює статус Переможця
    • awards[0].status: pending_payment
    • Інший авард (awards[1] лишається в статусі pending_waiting). 
active_awardedОчікується підписання договоруpending_payment

Автоматично.

При зміні Організатором статусу award: pending_payment → active

(Переможець виконав оплату)

Після оплати за лот Учасником Організатор

  1. Має змінити значення поля award.paymentReceived на true, натиснувши кнопку "Підтвердити оплату". 
  2. Натиснути кнопку “Підтвердити переможця”, після якої відбувається зміна статусу award’у на “Переможець”. Ця зміна статусу відбувається за допомогою окремого запиту (pending_payment → active). Зміна статусу буде успішною лише за умови award.paymentReceived == true (на ЦБД присутня валідація на це). 

Аварди учасників, що очікують, все ще лишаються в статусі pending_waiting

Статус процедури змінюється на active_awarded автоматично після того, як організатор змінює статус аварда на active (після оплати)

ЦБД автоматично створює contracts[0] у статусі pending для Переможця, який отримав award у статусі active

completeАукціон завершено. Договір підписаноactive_awarded

Ручна дія.

Організатор надсилає запит на зміну статусі Процедури: active_awarded → complete

Термінальний статус.

Після завершення роботи із договором, Організатор аукціону натискає на кнопку “Завершити електронні торги”.

Після чого майданчик Організатора надсилає запит до ЦБД щодо зміни статусу процедури на “Аукціон завершено. Договір підписано”.

Якщо аукціон завершено зі статусом complete, відсутнє подальше формування наступних процедур ланцюжку. 

unsuccessfulАукціон не відбувся

active_tendering

АБО

active_auction

АБО

active_qualification

АБО

pending_payment

АБО

active_awarded

Автоматично.

  • Якщо протягом tenderPeriod немає жодної поданої заяви
  • Якщо протягом tenderPeriod кількість поданих заяв на участь менше за встановлене Організатором значення minNumberOfQualifiedBids
  • Якщо за результатами періоду аукціону (auctionPeriod), немає жодної валідної ставки. Валідна ставка >= сума стартової ціни лота + крок аукціону  
  • Якщо в рамках кваліфікації Організатор дискваліфікував усіх учасників з award`ами в статусі active

Термінальний статус для поточної процедури.

У разі набуття цього статусу 1 або 2 процедури в ланцюжку (tenderAttempts = 1 або 2), формується наступна процедура в ланцюжку з tenderAttempts = 2 або 3. 

cancelledАукціон скасовано

active_tendering

АБО

active_auction

АБО 

active_qualification

АБО

pending_payment

АБО

active_awarded

Ручна дія.

Організатору у всіх статусах Процедури, окрім термінальних статусів, доступна опція "Скасування" Процедури.

Для скасування процедури, Організатору необхідно:

  • Завантажити документ в cancellations[].documents з documentType: cancellationDetails
  • Вказати причину скасування (cancellations.reason)
  • Вказати дату прийняття рішення про скасування (cancellations.datePublished)

Після цього, при натисканні кнопки, надсилається запит в ЦБД на скасування. Статус процедури змінюється на → cancelled

Термінальний статус.

Якщо аукціон завершено зі статусом cancelled, відсутнє подальше формування наступних процедур ланцюжку. 

Періоди процедури

Всі періоди генеруються ЦБД автоматично і залежать від конфігу - Посилання на конфігураційний файл з періодами та статусами - оновити посилання після його готовності

...

Info
titleВимоги до майданчиків

Наведена нижче логіка не буде актуальною після релізу ланцюжків. Після реалізації ланцюжків наступні процедури будуть сторюватись автоматично. 

В даній процедурі присутні В даній процедурі присутні додаткові умови тривалості tenderPeriod в залежності від стартової вартості та tenderAttempts. 

На ЦБД буде присутня валідація лише на мінімальний термін тривалості tenderPeriod в 19 днів (тобто найближча дата проведення аукціону (auctionPeriod.startDate) може бути на 20 день від дати створення процедури). Майданчик зі своєї сторони має реалізувати валідацію на проміжок, в який може бути призначено дату початку аукціону (auctionPeriod.startDate) за наступною логікою: 

  1. Якщо tenderAttempts = 1
    ТА 
    value.amount < 250 000 000 (двісті п'ятдесят мільйонів)
    ТО 
    Необхідно відобразити організатору часовий проміжок, коли можна обрати дату початку аукціону (auctionPeriod.startDate). Мінімальна дата початку -  на 25 КД, максимальна - на 35 КД. 
  2. Якщо tenderAttempts = 1
    ТА 
    value.amount >= 250 000 000 (двісті п'ятдесят мільйонів)
    ТО
    Необхідно відобразити організатору часовий проміжок, коли можна обрати дату початку аукціону (auctionPeriod.startDate). Мінімальна дата початку - на 60 КД, максимальна - на 90 КД
  3. Якщо tenderAttempts > 1
    ТА
    value.amount < 250 000 000 (двісті п'ятдесят мільйонів)
    ТО 
    Необхідно відобразити організатору часовий проміжок, коли можна обрати дату початку аукціону (auctionPeriod.startDate). Мінімальна дата початку - на 20 КД, максимальна - на 35 КД
  4. Якщо tenderAttempts > 1
    ТА 
    value.amount >= 250 000 000 (двісті п'ятдесят мільйонів)
    ТО
    Необхідно відобразити організатору часовий проміжок, коли можна обрати дату початку аукціону (auctionPeriod.startDate). Мінімальна дата початку - на 30 КД, максимальна - на 90 КД

При цьому дата початку аукціону не може припадати на святковий чи вихідний день! 

Info
titleВимоги до майданчиків

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

...

Технічна назва

Бізнесова назва

Перехід з

За умови

Коментар

pendingОчікується договірМомент набуття процедурою статуса active_awarded, перехід аварду в статус active

Автоматично.

В момент початку кваліфікації ЦБД автоматично створює contracts у статусі pending для Переможця

Організатор має можливість:

  • Завантаження підписаного договору з учасником
  • Підтвердження підписання договору
  • Дискваліфікації учасника
activeДоговір підтвердженоpending

Ручна дія.

Організатор завантажує документ contracts[x].documents.documentType: contractSigned і після цього надсилає запит на зміну contracts.status: pending → active

Повʼязаний Авард має бути у статусі active.

З технічної сторони, договір вважається підписаним і закритим, коли Організатор змінює contracts.status: pending → active.

Якщо змінився contracts.status: pending → active, це означає, що завантажено Підписаний договір, а також передано валідні дані в обовʼязкові поля (contracts.documents.documentType: contractSigned)

cancelledДоговір скасовано

pending

active

Автоматична.

За умови дискваліфікації Аварда із active → unsuccessful

Для того, щоб дискваліфікувати Учасника з причини того, що НЕ підписано договір або неотримано оплату, організатору необхідно надіслати запит на зміну статуса Аварда active → unsuccessful


...

Внаслідок чого статус процедури змінюється на “Аукціон завершено. Договір підписано” complete, статус договору та авадру залишаються без змін. ЦБД автоматично змінює статуси аward'ів з ”Очікує рішення” pending_waiting на “Учасник не став переможцем” cancelled.

Після успішного завершення процедури подальші процедури ланцюжку не формуються. 

Створення та редагування оголошення

...

Організатор аукціону готує оголошення на проведення процедури в ЕТС через майданчик. Дана дія відбувається через створення мастер-об'єкту JSC. Після підготовки лота і оформлення усієї необхідної документації починається етап “Створення процедури”.

...

Для публікації оголошення Організатор повинен :

Заповнити поля процедури (частина полів заповнюються системою автоматично), повний перелік полів за посиланням:

створити мастер-об'єкт ланцюжка. Логіка створення цього об'єкту описана тут

Поля процедури заповнюються автоматично з мастер-об'єкту. Процедура створюється автоматично в статусі active_tendering

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

  • Повну назву Аукціону (Заголовок) (title)
  • Опис аукціону (description)
  • Номер лоту (lotId)
  • Інформація про Організатора (relatedOrganization.sellingEntity)
    • Ідентифікатори Організатора аукціону (Код ЄДРПОУ, ІПН або паспорт) (identifier)
    • Адреса Організатора аукціону (повна адреса) (address)
    • Інформація про Контактну особу (contactPoint)
  • Банківські реквізити (bankAccounts) (обовʼязковий тільки accountType == guarantee)
  • Стартову ціну лоту (value)
    • Наявність ПДВ (valueAddedTaxCharged)
  • Розмір кроку аукціону (minimalStep)
    • Мінімальна кількість заяв (minNumberOfQualifiedBids)
  • Розмір гарантійного внеску (guarantee)
  • Розмір реєстраційного внеску (registrationFee)
  • Лот виставляється x раз (tenderAttempts)
  • Наявність умов продажу (saleCondition)
  • Ідентифікатор попереднього аукціону (previousAuctionId обовʼязково до заповнення лише у випадку, якщо tenderAttempts > 1. Може бути процедурою іншого напрямку роботи)
  • Документи аукціону (documents)
  • Дата проведення аукціону (auctionPeriod.startDate)
    • Має бути не раніше, ніж через 19 повних календарних днів після дня публікації)
    • Не може припадати на вихідний або святковий деньДата проведення 1, 2 та 3 аукціону в ланцюжку.
  • Інформація про лот (items[])
    • Опис лоту (items[].description)
    • Кількість одиниць (items[].quantity)
    • Одиниці виміру (items[].unit)
    • Основний класифікатор CAV (items[].classification)
    • Додатковий класифікатор CVZU за умови, що itemProps одне з: 
      • Земля (landProps)

      • ЄМК (jointPropertyComplex)

...

      • )

...

Редагування оголошення

Процедура знаходиться в статусі “Прийняття заяв на участь” active_tendering, триває період “Період редагування” rectificationPeriod. Для редагування оголошення Організатору необхідно:

  1. завантажити документ "Погодження змін до опису лоту. Опис причин редагування." (documentType:clarifications), що містить перелік змін, які вносяться в оголошення, причину внесення таких змін. Ця дія не є обов'язковою
  2. внести зміни до полів процедури (крім технічних полів) та/або завантажити/замінити документи оголошення. Важлива відмінність: є додаткове поле saleCondition, редагування якого доступне, і редагування якого обов'язково деактивує біди!
  3. ініціювати збереження внесених змін.
    У випадку внесення змін в поля процедури (набір полів, що деактивує заяву на участь стандартний + saleCondition) статус заяв на участь (bid’а) змінюється з active на inactive статус процедури залишається незмінним. 
    У випадку завантаження/зміни документів статус заяв на участь та процедури залишається без змін.
    Організатор аукціону може завантажувати документи оголошення протягом усього періоду прийняття пропозицій tenderPeriod.
  4. Повний перелік полів, редагування яких деактивує біди: 
    1. value
    2. valueAddedTaxCharged
    3. minimalStep
    4. registrationFee
    5. guarantee
    6. title
    7. accessDetails
    8. description
    9. items
    10. x_additionalInformation
    11. x_documentRequirements
    12. previousAuctionIdtenderAttempts
    13. sellingEntity
    14. lotId
    15. bankAccounts
    16. minNumberOfQualifiedBids
    17. documents
    18. saleCondition
  5. Наступні поля мають бути доступні для редагування, але при цьому необхідно відправити запит на ендпоінт редагування мастер-об'єкту JSC. Редагування має бути доступним в формі редагування полів процедури, але збереження змін в періодах має бути реалізовано через окрему кнопку. Редагувати можна лише для нестворених процедур. 
    1. extraSpecs.[1].periods[0].duration - період експозиції (в днях) для другої процедури до моменту створення другої процедри в ланцюжку
    2. extraSpecs.[2].periods[0].duration - період експозиції (в днях) для третьої процедури до моменту створення третьої процедри в ланцюжку

Розміщення заяви на участь sanctionedAssets-english

...


field namerequired for publishingtypereadOnlyx-legalNameUax-legalNameEncomment
1owner-stringtrueІдентифікатор майданчикаBroker Name
2ownerToken-string($uuid)true

x-default: hex
3_id-string

trueВнутрішній ідентифікатор аукціонуIDx-default: object_id
x-serialize_when_none: false

x-format: object-id
4datePublished-string($date-time)
trueДата публікації процедуриPublished datex-default: now
5dateModified-string($date-time)
trueОстання дата зміни процедуриProcedure date modified
6auctionId-string
true Ідентифікатор аукціонуAuction ID
7tenderAttempts+integer($int64)
falsetrueЛот виставляєтьсяAttempt number

minimum: 1
example: 10
Автогенеруться з мастер-об'єкта JSC

8previousAuctionId-string

falseІдентифікатор попереднього аукціонуPrevious auction Id

minLength: 1

Якщо tenderAttempts > 1 то поле очікується заповненим, але на ЦБД має бути присутня валідація лише на формат auctionID. Це може бути як SAE, так і SPE тощо.

Якщо tenderAttempts = 1 то previousAuctionId не потрібно заповнювати (на ЦБД валідація)

9disqualifiedBids-listtrueДискваліфіковані учасникиDisqualified bids

Учасники додаються в цей список за умови дискваліфікації за пунктами 4, 5

10sellingMethod+
stringfalseТип процедуриProcedure typeEnum:
[ sanctionedAssets-english,sanctionedAssets-english-ultra-fast,sanctionedAssets-english-fast,sanctionedAssets-english-fast-manual,sanctionedAssets-english-fast-auction-manual-qualification,sanctionedAssets-english-fast-auction-prod,sanctionedAssets-english-initial-auction,sanctionedAssets-english-initial-auction-manual,sanctionedAssets-english-initial-qualification,sanctionedAssets-english-initial-qualification-prod ]
11lotId+
stringfalseНомер лотаLot number
12sellingEntity base.SellingEntity Інформація про Організатора аукціонуOrganizer informationВикористовується стандартна модель 
13title+base.MultiLangfalseНазва аукціонуAuction titleВикористовується стандартна модель 
14description+base.MultiLangfalseОпис аукціонуAuction descriptionВикористовується стандартна модель 
15auctionUrl-stringtrueВеб-адреса для перегляду аукціонуAuction linkexample: /api/auctions/123
x-format: rel-url

16accessDetails-base.MultiLangfalseПорядок ознайомлення з майном, час і місце проведення огляду об’єктаAuction access detailsВикористовується стандартна модель 
17bankAccounts+sanctionedAssets.BankAccountsByTypefalseБанківські рахунки організатораBank accounts

Використовується стандартна модель 

Обов'язково один банківський рахунок з типом guarantee і валютою UAH. Рахунків для кожного типу в UAH/USD/EUR може бути безліч. 

field nametypecomment
accountTypestring

x-dictionaries: List [ "accountType" ]

Enum:
[ registrationFee, guarantee, other, payment ]

accountscommercialSell.BankAccountWithCurrencyx-baseClass: "prozorro_sale.procedure.models.base.BankAccount"
18x_documentRequirements-base.MultiLangfalseПерелік та вимоги до оформлення документівList and requirements of registration documents
19x_additionalInformation-base.MultiLangfalseДодаткові відомостіOther requirements and additional information
20value+base.ValueWithTaxfalseСтартова ціна лотаStart lot price

Використовується стандартна модель

field nametypereadOnlycomment
currency *string
false

default: UAH
x-legalNameUa: Валюта

x-legalNameEn: Currency

Enum:
[ UAH, USD, EUR ]

amount *number($float)falseexample: 10
minimum: 0

exclusiveMinimum: true

x-format: decimal-float

x-legalNameUa: Сума

x-legalNameEn: Amount
valueAddedTaxIncludedbooleanfalsedefault: true
x-legalNameUa: Податок

x-legalNameEn: Tax
21valueAddedTaxCharged-booleanfalseНа фінальну суму нараховується ПДВValue added tax chargeddefault: false
22saleCondition+stringfalseНаявність умов продажуSale conditions

Доступне для редагування і у разі редагування має деактивувати біди

Доступні значення: yes, no

23guarantee+base.ValuefalseГарантійний внесокGuarantee feeВикористовується стандартна модель
24registrationFee-base.ValuefalseРеєстраційний внесокRegistration feeВикористовується стандартна модель
25minimalStep+base.ValuefalseРозмір кроку аукціонуMinimal stepВикористовується стандартна модель
26minNumberOfQualifiedBids-integer($int64)falseМінімальна кількість заявMinimal number of bidsdefault: 1
minimum: 1

maximum: 2

При публікації процедури можна не передавати. ЦБД автоматично згенерує == 1.

Організатор може передати явно 1 або 2 за необхідності.

27 items +sanctionedAssets.ItemfalseСклад лотаLot composition

Використовується стандартна модель

x-format: list-object
minItems: 1

default: List []

28documents  + base.DocumentsfalseВсі документи аукціону та пов'язані додаткиDocuments

Використовується стандартна модель

x-format: list-object
default: List []

29 bids -sanctionedAssets.BidtrueЗаява на участь Bid

Використовується стандартна модель

x-format: list-object
default: List []
 

30questions-base.QuestiontrueСервіс обговорення аукціону (запитання-відповідь)Q&A

Використовується стандартна модель

x-format: list-object
default: List []

31awards-sanctionedAssets.AwardtrueРішення щодо кваліфікації учасниківAward

Використовується кастомна модель

Додається поле paymentReceived (boolean). Відповідає за підтвердження оплати за лот та редагується організатором

Додається поле participationPayment (boolean). Відповідає за підтвердження отримання плати за участь майданчиком переможця. Не є обовʼязковим. 

x-format: list-object
default: List []

32contracts-sanctionedAssets.ContracttrueДоговірContract

Використовується стандартна модель 

x-format: list-object
default: List []

33inactivationDate-string($date-time)trueДата деактивації заяви на участь
Inactive bid date

Використовується стандартна логіка

34rectificationPeriod-base.PeriodtrueПеріод редагуванняRectification period

Логіка формування періоду описана вище

35enquiryPeriod-base.PeriodtrueПеріод відповідейEnquiry period

Логіка формування періоду описана вище

36tenderPeriod-base.PeriodtrueПеріод подання заяви на участь в аукціоніTender period

Логіка формування періоду описана вище

37auctionPeriod+base.PeriodfalseПеріод аукціонуAuction period

Логіка формування періоду описана вище

38questionPeriod-base.PeriodtrueПеріод запитаньQuestion period

Логіка формування періоду описана вище

39qualificationPeriod-base.PeriodtrueПеріод кваліфікаціїQualification period

Логіка формування періоду описана вище

40status-stringtrueСтатус процедуриProcedure status

Enum:
[ active_tendering, active_auction, active_qualification, active_awarded, complete, cancelled, unsuccessful ]

41cancellations-base.CancellationtrueСкасування АукціонуAuction Cancellation

Використовується стандартна логіка 

x-format: list-object
default: List []

42_meta     

Використовується стандартна логіка

43additionalInformation     

Використовується стандартна логіка

44metaInfo     

Використовується стандартна логіка

...