Versions Compared

Key

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

...

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

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

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

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

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

active_auctionАукціонФормується в момент публікації процедури в ЦБД

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

Запускається в останній день tenderPeriod.

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

active_qualificationОчікується підписання протоколу

active_auction

АБО

pending_payment

АБО

active_awarded

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

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

АБО

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

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

АБО

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

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

По завершенню періоду аукціону (auctionPeriod) - 

  • ЦБД змінює статус процедури на “Очікується підписання протоколу” ( → 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. В результаті даної дії:
  • статус award’у змінюється на “Переможець” (active)
  • статус процедури змінюється на “Очікується підписання договору” (active_awarded)
    1. , натиснувши кнопку "Підтвердити оплату". 
    2. Натиснути кнопку “Підтвердити переможця”, після якої відбувається зміна статусу award’у на “Переможець”. Ця зміна статусу відбувається за допомогою окремого запиту (pending_payment → active). Зміна статусу буде успішною лише за умови award.paymentReceived == true (на ЦБД присутня валідація на це). 

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

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

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

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

    Ручна дія.

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

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

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

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

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

    active_auction

    АБО

    active_qualification

    АБО

    pending_payment

    АБО

    active_awarded

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

    • відсутній хоча б один  bid за результатами аукціону.

    • При дискваліфікації учасника, якщо учасник, що очікує (award status == pending_waiting) відсутній

      АБО дискваліфікували обох учасників.

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

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

    active_tendering

    АБО

    active_auction

    АБО 

    active_qualification

    АБО

    pending_payment

    АБО

    active_awarded

    Ручна дія.

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

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

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

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

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

    ...

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

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

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

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

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

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

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

    ...

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

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

    Перехід з

    За умови

    Коментар

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

    МА (переможець)

    АБО

    pending_waiting

    Автоматично: Присвоюється переможцю під час генерації авардів (1-й award)

    АБО

    Автоматично: Присвоюється наступному за величиною ставки після дискваліфікації переможця

    Організатор має можливість:
    • Завантаження протоколу (обв'язкова дія - з можливістю замінити протокол)
    • Дискваліфікація учасника

    Учасник має можливість:

    • Завантажити та замінити протокол (не обов'язкова дія - з можливістю замінити протокол)
      • Технічно учасник завантажує протокол тільки в свій Бід
    pending_waiting Очікується рішенняМА (учасник з другою за розміром валідною ставкою)

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

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


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

    В статусі pending_waiting може бути тільки один авард. Це авард учасника, який подав валідну (валідні = стартова ціна + крок) ставки другу за розміром ставку протягом tenderPeriod і аукціону.

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

    Ручна дія. 

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

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

    • Переведення статусу учасника до наступного статусу "Переможець. Очікується оплатадоговір" (дія є обов'язковою, організатор має натиснути кнопку кнопки "Підтвердити оплату" → "Підтвердити переможця").
    • Дискваліфікація учасника
    activeПереможець. Очікується договірpending_payment

    Ручна дія.

    Організатор підтверджує оплату і змінює статус award pending_payment active

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

    • Завантаження договору (з можливістю замінити);
    • Дискваліфікація учасника (до завершення аукціону);
    • Завершення аукціону.
    cancelledУчасник не став переможцем

    pending_waiting

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

    Процедура набула термінального статусу complete та учасники, які мають статус pending_waiting → cancelled

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

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

    pending

    АБО

    active

    АБО

    pending_payment 

    Ручна дія.

    Організатор дискваліфікує переможця і надсилає запит на зміну award.status: pending/pending_payment→ unsuccessful

    Організатор не підписує договір з переможцем і надсилає запит на зміну award.status: active → unsuccessful

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

    1. pending → unsuccessful:

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

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

    2. pending_payment → unsuccessful

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

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

    3. active → unsuccessful:

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

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

    При цьому contracts автоматично змінить свій статус на cancelled

    ...

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

    Документи, що підтверджують оплату, відсутні. Поле, що відповідає за дату оплати, теж відсутнє. 

    Info
    titleВимоги до майданчиків
    Для майданчика організатора - наявність кнопки "Підтвердити оплату" для організатора, яка змінить значення поля paymentReceived на true. Майданчиук має відображати це поле на своєму інтерфейсі. Як Наявність кнопки "Підтвердити переможця" - як тільки виконано цю дію, статус аварду необхідно перевести в active. 

    ...

    Результатом "Підтвердження оплатипереможця" є:

    • Award.status: pending_payment → active
    • Procedure.status: pending_payment → active_awarded
    • Створюється сутність контракту з Contract.status в статусі pending

    ...

    Якщо award в статусі pending, pending_payment або active дискваліфіковують, учасник з наступною за величиною цінової пропозиції з award'ом в статусі pending_waiting набуває статусу pending та проходить процедуру кваліфікації по такому самому принципу як попередній переможець (процедура знову набуває статус "Очікується опублікування протоколу" (active_awarded active_qualification). Період кваліфікації qualificationPeriod формується повторно з усіма вкладеними періодами (award.verificationPeriod, award.signingPeriod, award.signaturePeriod, award.paymentPeriod)

    Договір

    Статуси Contracts

    ...


    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)
    falseЛот виставляєтьсяAttempt number

    minimum: 1
    example: 10

    8previousAuctionId-string

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

    minLength: 1

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

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

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

    10sellingMethod+
    stringfalseТип процедуриProcedure typeEnum:
    [ sanctionedAssets-dutch,sanctionedAssets-dutch-ultra-fast,sanctionedAssets-dutch-fast,sanctionedAssets-dutch-fast-manual,sanctionedAssets-dutch-fast-auction-manual-qualification,sanctionedAssets-dutch-fast-auction-prod,sanctionedAssets-dutch-initial-auction,sanctionedAssets-dutch-initial-auction-manual,sanctionedAssets-dutch-initial-qualification,sanctionedAssets-dutch-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.ValuedutchMinimalStepfalsetrueРозмір кроку аукціонуMinimal stepВикористовується стандартна модель
    26dutchStep+base.dutchStepfalseРозмір кроку голландського раунду, грнDutch step value

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

    Організатор заповнює лише кількість кроків

    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). Відповідає за підтвердження оплати за лот та редагується організатором

    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     

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

    ...