Versions Compared

Key

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

...

  1. На етапі публікації Процедури:
    • В в одній процедурі може бути тільки один item (ДОДАТИ ВАЛІДАЦІЮ) (ПРОГОВОРИТИ)
  2. На етапі подання заяв на участь:
    • учасник може подати одну або більше заяв на участь в одному аукціоні, відповідно до кількості об'єктів електроенергетики наявних у нього. (ПРОГОВОРИТИ) 
      Expand
      titleВ нормативці є

      34. У рамках одного аукціону щодо одного і того самого об’єкта електроенергетики або черги будівництва (пускового комплексу) об’єкта електроенергетики учасник не може подати більше однієї заяви про участь в аукціоні.

  3. Аукціон:
    • для запуску МА на момент tenderPeriod.endDate має бути мінімум два bids[] у статусі active (minNumberOfQualifiedBids==2). Якщо менше двух статус процедури змінюється на unsuccessful
    • "сліпий" аукціон (детально описано в ТЗ "сліпогоrenewables auction" МА) (ДОДАТИ ПОСИЛАННЯ) 
  4. Кваліфікація:
    • кількість переможців необмежена
    • наявність учасників, що очікують
    • наявність умовного переможця

...

  • Під час публікації процедури ЦБД автоматично генерує значення для (ДОДАТИ ЦЕ В ФУНКЦІОНАЛЦБД)

    • itmes[0].classification.scheme == CAV

    • itmes[0].classification.id == 09300000-2

Основний класифікатор (код) - 09300000-2 - Електрична, теплова, сонячна та атомна енергія. Посилання на словник

  • При публікації процедури, Організатор може вказати (не обовʼязково) Додатковий класифікатор "Вид джерела енергії" (одне значення з словника)

...

draw.io Diagram
bordertrue
diagramNameMain_diagram_renewables_multiAwards
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth1382
revision1011

Публікація процедури

Створення оголошення

...

  • Інформація про Замовника (sellingEntity)
    • Ідентифікатори Замовника аукціону (Код ЄДРПОУ або ІПН або паспорт) (identifier)
    • Місцезнаходження Замовника аукціону (повна адреса) (address)
    • Інформація про контактну особу (contactPoint)
  • Номер лоту (lotId)
  • Повну назву Аукціону (заголовок) (title)
  • Вимоги до оформлення документів (x_documentRequirements)
  • Максимальний розмір цінової пропозиції учасника (value)
  • Розмір банківської гарантії для участі в аукціоні за 1 кВт (guarantee) (МОЖЕМО DEFAULT ЗРОБИТИ 5 ЄВРО)
  • Інформація про лот, що пропонується на аукціон, із зазначенням його розміру (items.quantity, items.unit.code (зробити default KWT?), items.classification == CAV 09300000-2 ((зробити default ?), items.desctiption)
  • Документи
  • Дата та час проведення аукціону (auctionPeriod.startDate)

...

Протягом періоду редагування (rectifiactionPeriod) Замовник аукціону має право самостійно вносити зміни в опис лоту та оголошення щодо продажу лота в ЕТС.
Замовник має можливість внести зміни в ті поля які він заповнював самостійно під час публікації аукціону, окрім орієнтовного часу початку аукціону.
Для підтвердження внесених змін Замовник має можливість завантажити документ - "Погодження змін до опису лоту. Опис причин редагування." (documentType:clarifications), має містити перелік змін, які вносяться в оголошення, причину внесення таких змін. Він має бути доступний для завантаження в період редагування (rectificationPeriod) та не є обов'язковим.

Протягом періоду відповідей (enquiryPeriod) Замовник аукціону редагування (rectificationPeriod) та Періоду прийняття заяв на участь (tenderPeriod) Організатор процедури може завантажувати та замінювати документи оголошення (procedure.documents[])

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

Технічна назваБізнесова назваДата початкуДата завершенняРезультат завершенняКоментар
rectificationPeriodПеріод редагування

Дата та час публікації процедури в ЦБД

rectificationPeriod.startDate + 2 р.д., завершення о 20:00

(завжди припадає на робочий день)

Статус процедури змінюється:

active_rectification → active_tendering

Редагування полів процедури більше недоступне

ст.28 "Прийом заяв про участь в аукціоні починається з моменту розміщення оголошення про проведення аукціону..."
tenderPeriodПеріод подання пропозицій

tenderPeriod.startDate == rectificationPeriod.endDate

о 20:00 в день, що передує дню початку аукціону auctionPeriod.startDate

(може припадати на НЕробочий день)

Статус процедури змінюється:

active_tendering → active_auction


questionPeriodПеріод запитань

Дата та час публікації процедури в ЦБД

Може припадати на НЕробочий день.

о 20:00 за 1 р.д. до початку аукціону

-
enquiryPeriodПеріод відповідей

Дата та час публікації процедури в ЦБД

о 20:00 за 1 р.д. до початку аукціону-
auctionPeriodАукціон

Завжди припадає на робочий день.

Вказується організатором при публікації процедури.

ЦБД приймає тільки auctionPeriod.startDate >= datePublished + 30 к.д. 

Момент завершення роботи модуля аукціону

Статус процедури змінюється:

active_auction → qualification

Період auctionPeriod.endDate присутній виключно за умови наявності не менш ніж 2 заяв на участь (bids[].status: active) в період подання пропозицій (tenderPeriod)на момент tenderPeriod.endDate
verificationPeriodПеріод перевірки документів

verificationPeriod.startDate == auctionPeriod.endDate

verificationPeriod.endDate == verificationPeriod.startDate + 10 р.д. о 18:00

Статус процедури змінюється:

qualification → active_qualification

УТОЧНИТИ

+ Можлива Ручна дія зміни статуса qualification → active_qualification. Організатор натискає кнопку "Перевірку документів завершено", на ЦБД надсилається запит на зміну статуса Процедури.

verificationPeriod.endDate не змінюється в API

qualificationPeriodПеріод кваліфікаціїqualificationPeriod.startDate == auctionPeriod.endDatequalificationPeriod.endDate == qualificationPeriod.startDate + 29 р.д. о 18:00

На рівні ЦБД: відсутній

На рівні майданчика: за 24 години до завершення, надсилання повідомлення Організатору про завершення періоду кваліфікації. 

зараз має назву waitingPeriod


...

draw.io Diagram
bordertrue
diagramNameStatuses_renewable_MultiAwards
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth612
revision45


Технічна назваБізнесова назваПерехід зЗа умовиКоментар
active_rectificationРедагування доступнемомент публікації оголошення в ЦБД

Ручна дія.

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

Майданчик Організатора робить запит до ЦБД та передає об'єкт процедури. У разі правильно сформованого об'єкта процедури, ЦБД повертає майданчику id та token створеного об'єкта процедури, процедура набуває статус "Редагування доступне" (active_rectification).
active_tenderingПрийняття заяв на участьactive_rectification

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

Настав момент rectificationPeriod.endDate

Завершився Період редагування (rectificationPeriod), почався період Прийняття заяв на участь (tenderPeriod)
active_auctionАукціонactive_tendering

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

Завершився період прийому заяв на участь. В момент auctionPeriod.startDate

У визначену дату та час ЦБД, за наявності необхідної кількості заяв (перевірка кількості поданих заяв відбувається на рівні ЦБД, для проведення аукціону необхідно не менше 2 заяв на участь), змінює статус процедури з “Прийняття заяв на участь” (active_tendering) на “Аукціон” (active_auction).

qualificationПеревірка документів учасниківactive_auction

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

Завершився auctionPeriod

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

Для кожного учасникапо кожному учаснику, що мав bids[].status == active на момент auctionPeriod.startDate, в обʼєкті процедури створюється Award у статусі verification

За умови успішної превірки документів, Організатор змінює статус Awards[].status: verification → waiting (обовʼязкових документів немає)

За умови НЕ успішної перевірки документів, Організатор змінює статус Awards[].status: verification → unsuccessful (обовʼязково документ awards.documents: documentType: rejectionProtocol)Подальша робота Організатора і учасників відбувається з Awards[]

active_qualificationОчікується оприлюднення протоколу та підписання договоруqualification

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

Завершився verificationPeriod, що тривав 10 р.д


АБО


Ручна дія.

Організатор натискає кнопку "Перевірку документів завершено", на ЦБД надсилається запит на зміну статуса Процедури.verificationPeriod.endDate не змінюється в API. 

Всі Awards, що знаходяться у статусі verification набувають статусу waiting

Аварди, що на момент зміни статуса процедури перебували у статусі waiting АБО verification автоматично змінюють статус на pending АБО pending_waiting (деталі в розділі Статуси Awards). Awards[].status: [waiting,verification] → pending OR pending_waiting

Аварди в статусі unsuccessful свій статус не змінюють.

Anchor
x_quantityLimit
x_quantityLimit
В момент переходу процедури у статус active_qualification, ЦБД розраховує значення поляx_quantityLimit - це сума awards.quantity всіх Авардів, які на момент зміни статуса процедури на active_qualification мали Awards.status == waiting

verificationPeriod.endDate не змінюється в API. 

Всі Awards, що знаходяться у статусі verification набувають статусу waiting

completeАукціон завершеноactive_qualification

Ручна дія.

Організатор надсилає запит на зміну status: active_qualification → complete

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

При виконанні дії зміни статуса ЦБД перевіряє:

  • Всі contracts[] мають статус active або unsuccessful (має бути хочаб один contract у статусі active)
  • Всі Awards[] мають бути у статусі active, cancelled чи unsuccessful (має бути хоча б один award у статусі active)
unsuccessfulАукціон не відбувся

active_tendering

qualification

active_qualification

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

  • Якщо на момент tenderPeriod.endDate подано менше 2-х заяв на участь;
  • Якщо в рамках кваліфікації Замовник дискваліфікував усіх учасників.

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

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

active_rectification

active_tendering

qualification

active_qualification

Ручна дія.

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

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

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

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

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

Для зміни статусу процедури на “Аукціон відмінено” Замовник зобов’язаний в особистому кабінеті натиснути кнопку “Скасувати аукціон”, завантажити документ з причинами скасування та обрати одну з нижчезазначених причин скасування, після чого майданчик Замовника передає запит до ЦБД на зміну статусу процедури на “Аукціон відмінено”.

...

Технічна назваБізнесова назваПерехід зЗа умовиКоментар
verificationПеревірка документівМомент auctionPeriod.endDate створюються Awards

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

По завершенню аукціону, процедура переходить у статус qualification (Перевірка документів). ЦБД генерує Awards[] у статусі verification для всіх учасників, відповідно до поданих кількості заяв на участь. Валідною ставкою вважається та, що рівна або менша за значення value.amount.

Anchor
queue
queue
За результатами роботи МА (auctionPeriod) пропозиції сортуються від меншої ціни до більшої, а у випадку співпадіння ціни, вище відображається пропозиція розміщена раніше.

Часом розміщення пропозиції вважається час першого розміщення заяви у ЦБД, а, у випадку редагування пропозиції під час періоду прийому пропозицій, час фіксації змін у заяві у ЦБД.

При формуванні порядку Авардів, необхідно дивитись на Awards.value, але якщо value декількох Авардів однакове, необхідно подивитись, чи відрізняється у кожного bid-а bids.initialValue від bids.value:

1) Якщо учасник оновлював свою ставку протягом МА (bids.value < bids.initialValue), то часом розміщення ставки вважається час оновлення ставки протягом МА

2) Якщо учасник НЕ оновлював свою ставку протягом МА (bids.value == bids.initialValue), то часом розміщення ставки вважається bids.dateModified

3) Якщо у декількох Авардів однакове value і ці декілька учасників оновлювали свої ставки протягом МА, то вище в рейтингу має бути той, хто оновлював свою ставку раніше 

4) Якщо у декількох Авардів однакове value при цьому один із них НЕ оновлював ставку протягом МА, а інші оновлювали, то вище в рейтингу має бути той, хто НЕ оновлював ставку протягом МА. (бо він розмістив своє value раніше). Його bids.dateModified вважається датою і часом розміщення ставки. Інші учасники своє value розмістили точно пізніше, бо вони оновлювали value протягом МА. Їх порядок має бути згідно часу оновлення їх ставок.


Організатор має можливість завантажити та заміни в Аварді документ documentType:rejectionProtocol (лише після цього ЦБД дає можливість змінити Awards.status: verification → unsuccessful )

Організатор має можливість завантажити та заміни в Процедурі документ documentType:x_verificationAct

waitingДокументи перевіреноverification

Ручна дія.

У Організатора має бути можливість змінювати Awards.status: verification → waiting. Обовʼязкові документи для цієї зміни статуса відсутні.


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

Якщо на момент verificationPeriod.endDate залишились Awards у статусі verification, то ЦБД змінює їх статус на waiting

 Подальша Подальша робота з Авардом відбувається із цього статуса. 

Частину Авардів в статус waiting може перевести Організатор, а e випадку, коли ЦБД автоматично змінила Awards.status: verification → waiting , він є проміжковим і після цього ЦБД також автоматично змінить статус на pending або pending_waiting


За умови успішної превірки документів, Організатор змінює статус Awards[].status: verification → waiting (обовʼязкових документів немає)

За умови НЕ успішної перевірки документів, Організатор змінює статус Awards[].status: verification → unsuccessful (обовʼязково документ awards.documents: documentType: rejectionProtocol)


pending Очікується протокол

waiting

АБО

pending_waiting

АБО

pending_admission

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

waiting → pending: Завершився verificationPeriod.endDate

АБО

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

pending_waiting → pending: Дискваліфіковано Авард у статусі pending АБО protocol_signed протягом qualificationPeriod

АБО

Ручна дія.

pending_admission → pending: Учасник погодився закрити залишок обсягу


Перехід із waiting:

Статус pending отримують Аварди, які перебувають перші у списку результатів Модуля Аукціону і які успішно пройшли етап перевірки документів (award.status <> unsuccessful) за умови, що обсяг, який вони запропонували повністю покривається розрахованим значенням x_quantityLimit

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

    • Завантажити і замінити awards.document: documentType: auctionProtocol (обов'язкова дія для подальшої зміни статуса Аварда на active)
    • Змінити Awards.status: pending → active
    • Змінити Awards.status: pending → unsuccessful

Учасник має можливість завантажити та замінити протокол auctionProtocol (не обов'язкова дія)


Перехід із pending_waiting:

Лише у випадку, якщо Організатор дискваліфікував одного чи більше Переможців, Аварди, що перебувають у статусі pending_waiting автоматино можуть змінити свій статус на pending за умови, що обсяг, який вони запропонували повністю покривається залишком від обсягу, що залишився і не настала дата qualificationPeriod.endDate. Якщо завершився qualificationPeriod і після 29 р.д. Організатор дискваліфіковує переможця, наступний у черзі, який очікує (pending_waiting) вже НЕ отримує статус pending

Expand
titleіз Постанови

У разі коли після 29 робочих днів з дати завершення аукціону переможець або гарантований покупець відмовляються від підписання протоколу про результати аукціону або договору про надання послуги відповідно до вимог цього Порядку, визначення нових переможців не проводиться.


Anchor
example_1
example_1
Приклад1:

Організатор вказав procedure.items.quantity == 10 000

Учасник_1 запропонував awards.items.quantit  == 3 000 по найменшій ціні 10

Учасник_2 запропонував awards.items.quantit  ==  1 000 по ціні 11

Учасник_3 запропонував awards.items.quantit  ==  2 000 по ціні 12

Всі три учасники успішно пройшли перевірку документів (awards.status == waiting)

ЦБД розраховує x_quantityLimit == (3000 + 1 000 + 2 000) * 0.8 == 4 800

Обсяг 4 800 повністю покриває тільки запропоновані обсяги Учасника_1 і Учасника_2. Запропонований Учасником_3 обсяг повнітю не реалізується (він запропонував 2 000, а після розподілення між першим і другим учасниками, залишилось не розподілено тільки (4 800 - 3 000 - 1 000) == 800 )

В даному прикладі тільки третій учасник отримує статус pending_waiting

Після цього Організатор дискваліфіковує Учасника_1 з його пропозицією 3 000.

Учасник_3 автоматично отримує статус pending з своєю пропозицією 2 000, бо 2 000 повністю покривається обсягом 4 800 (першого дискваліфікували, другий 1 000, третій 2 000, 1000+2000 = 3000, що менше, ніж 4800)

Приклад2:

Організатор вказав procedure.items.quantity == 10 000

Учасник_1 запропонував awards.items.quantit  == 1 000 по найменшій ціні 10

Учасник_2 запропонував awards.items.quantit  ==  1 000 по ціні 11

Учасник_3 запропонував awards.items.quantit  ==  8 000 по ціні 12

Всі три учасники успішно пройшли перевірку документів (awards.status == waiting)

ЦБД розраховує x_quantityLimit == (1 000 + 1 000 + 8 000) * 0.8 == 8 000

Обсяг 8000 повністю покриває тільки запропоновані обсяги Учасника_1 і Учасника_2. Запропонований Учасником_3 обсяг повнітю не реалізується (він запропонував 8 000, а після розподілення між першим і другим учасниками, залишилось не розподілено тільки (8 000 - 1 000 - 1 000) == 6 000 )

В даному прикладі тільки третій учасник отримує статус pending_waiting

Після цього Організатор дискваліфіковує Учасника_1 з його пропозицією 1 000.

Учасник_3 НЕ отримує статус pending з своєю пропозицією 8000, бо 8000 повністю не покривається залишком обсягу (8000 - 1000 = 7000 - залишок обсягу, а Учасник_3 пропонує 8000, що більше, ніж 7000)

Його статус залишається pending_waiting.

P.S.: в майбутньому він отримає статус "Умовний переможець" (pending_admission) і зможе погодитись реалізувати залишок, який складає 7000 із його запропонованих 8000. 


Перехід із pending_admission:

 Учасник в статусі pending_admission має можливість вказати обсяг, який він готовий закрити і змінити статус на pending. Далі відбувається його кваліфікація за стандартною логікою

protocol_signedПідписано протокол

pending

Ручна дія.

ЦБД має валідувати, що в Авард завантажено документ з documentType: auctionProtocol

Так як, дискваліфікувати Учасника має бути можливість у випадку, коли підписано Протокол і НЕ підписано Договір, використовуємо цей статус для відображення факту підписання Протоколу.

pending_waiting Очікується рішення waiting

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

Завершився verificationPeriod.endDate

Статус pending_waiting отримують Аварди, які перебувають у списку результатів Модуля Аукціону і які успішно пройшли етап перевірки документів (award.status <> unsuccessful) за умови, що обсяг, який вони запропонували повністю НЕ покривається розрахованим значенням x_quantityLimit, з причини, що обсяг вже закритий іншими пропозиціями.


Приклад 1:

Організатор вказав procedure.items.quantity == 10 000

Учасник_1 запропонував awards.items.quantit  == 3 000 по найменшій ціні 10

Учасник_2 запропонував awards.items.quantit  ==  1 000 по ціні 11

Учасник_3 запропонував awards.items.quantit  ==  2 000 по ціні 12

Всі три учасники успішно пройшли перевірку документів (awards.status == waiting)

ЦБД розраховує x_quantityLimit == (3000 + 1 000 + 2 000) * 0.8 == 4 800

Обсяг 4 800 повністю покриває тільки запропоновані обсяги Учасника_1 і Учасника_2. Запропонований Учасником_3 обсяг повнітю не реалізується (він запропонував 2 000, а після розподілення між першим і другим учасниками, залишилось не розподілено тільки (4 800 - 3 000 - 1 000) == 800 )

В даному прикладі тільки третій учасник отримує статус pending_waiting

Приклад 2:

Організатор вказав procedure.items.quantity == 10 000

Учасник_1 запропонував awards.items.quantit 3 000 по найменшій ціні 10

Учасник_2 запропонував 2 000 по ціні 11

Учасник_3 запропонував 1 000 по ціні 12

Всі три учасники успішно пройшли перевірку документів (awards.status == waiting)

ЦБД розраховує x_quantityLimit == (3000 + 1 000 + 2 000) * 0.8 == 4 800

Обсяг 4 800 повністю покриває тільки запропонований обсяг Учасника_1. Запропонований Учасником_2 обсяг повнітю не реалізується (він запропонував 2 000, а після Учасника_1 , залишилось не розподілено тільки (4 800 - 3 000) == 1800 )

В даному прикладі другий і третій учасники отримують статус pending_waiting


Організатор не може дискваліфікувати Учасника, що очікує рішення

Учасник не має можливості відмовитись від очікування.

pending_admissionПідтвердження набуття статусу переможцяpending_waiting

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

Завершився qualificationPeriod.endDate

АБО

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

За умови, що всі Awards, що мали статус pending отримали статус active

(Організатор успішно кваліфікував всіх Переможців, залишилось вирішити питання тільки з залишком запропонованого обсягу, що може бути закритий "умовним переможцем")

АБО

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

За умови, що взагалі відсутні Аварди у статусі pending

(це виключення описано тут)


Статус pending_admission отримує тільки один Award, який знаходиться у статусі pending_waiting і запропонував найменшу після Переможців ціну.

Згідно Постанови "Учасник, що набуває статусу умовного переможця, визначається на 30-й робочий день після завершення аукціону", але у випадку, коли Організатор успішно кваліфікував всіх переможців (всі Awards у статусі pending набули статусу active), не чекаючи 30-го дня після завершення МА, учасник одразу отримує статус pending_admission і отримує можливість погодитись чи відмовитись від залишку обсягу.

Це потрібно для того, щоб після успішної кваліфікації переможців, небуло необхідності чекати завершення періоду кваліфікації для погодження умовним переможцем своє право на набуття статуса переможця.

В цьому статусі Умовний переможець може:

  • вказати обсяг, на який учасник погоджується (обсяг має дорівнювати або бути меншим за нерозподілений залишок) і
  • надіслати запит на зміну Award.status: pending_admission → pending (підтвердити набуття статусу переможця)
  • Відмовитися від набуття статусу переможця - надіслати запит на Award.status: pending_admidssion →  cancelled
  • Бездіяльність умовного переможця протягом awards.admissionPeriod (принцип мовчазної відмови), автоматична зміна Award.status: pending_admidssion →  cancelled
activeДоговір підписаноprotocol_signed

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

Якщо повʼязаний contracts набув статуса active

Якщо змінився contracts.status: pending → active, це означає, що

завантажено Підписаний договір (contracts.documents.documentType: contractSigned)

Це потрібно для того, щоб за умови дискваліфікації Переможця на етапі підписання Договору, ЦБД зробила перевірку "qualificationPeriod.endDate вже пройшов?":

  • якщо НІ, то відпрацьовує логіка визначення переходу наступного Аварда із pending_waiting → pending і підписання протоколу і договору з наступним учасником.
  • якщо ТАК, то наступних у черзі Авардів не кваліфікуємо
cancelledУчасник не став переможцем

pending_admission

АБО

pending_waiting

Ручна дія.

Учасник (умовний переможець) надсилає запит на зміну статуса

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

В момент, коли будь-який Авард набуває статусу pending_admission, всі інші Аварди, які знаходяться у статусі pending_waiting автоматично набувають статус cancelled


Після набуття статусу pending_admission "Умовний переможець" має можливість відмовитись від запропонованого обсягу і скасувати свою заявку (змінити статус Аварда з pending_admission на cancelled)


Після набуття статусу pending_admission "Умовний переможець" всі Аварди, які на цей момент заходились у статусі pending_waiting набувають статус cancelled

unsuccessfulДискваліфіковано

verification

АБО

pending

Ручна дія.

Організатор надсилає запит на зміну award.status: pending → unsuccessful

ЦБД має валідувати, що в Авард завантажено документ з documentType: act

При зміні статуса з pending → unsuccessful ЦБД має валідувати, що заповнено awards.terminationReason значенням зі словника

...