Versions Compared

Key

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

...

  • Під час публікації процедури з запиті необхідно передати для item:

    • Обовʼязковий Основний класифікатор - CAV

      • на рівні ЦБД можливість обрати:
        • 03000000-1 Сільськогосподарська, фермерська продукція, продукція рибальства, лісівництва та супутня продукція та всі вкладені коди
        • 09000000-3 Нафтопродукти, паливо, електроенергія та інші джерела енергії та всі вкладені коди
        • 14000000-1 Гірнича продукція, неблагородні метали та супутня продукція та всі вкладені коди
        • 15000000-8 Продукти харчування, напої, тютюн та супутня продукція та всі вкладені коди
        • 18000000-9 Одяг, взуття, сумки та аксесуари та всі вкладені коди
        • 19000000-6 Шкіряні та текстильні, пластмасові та гумові матеріали та всі вкладені коди
        • 22000000-0 Друкована та супутня продукція та всі вкладені коди
        • 24000000-4 Хімічна продукція та всі вкладені коди
        • 30000000-9 Офісна та комп’ютерна техніка, устаткування та приладдя, крім меблів та пакетів програмного забезпечення та всі вкладені коди
        • 44000000-0 Конструкції та конструкційні матеріали; допоміжна будівельна продукція (крім електроапаратури) та всі вкладені коди
    •  Не обовʼязковий Додаткові класифікатори - CPVS, CVZU

...

Технічна назваБізнесова назваПерехід зЗа умовиКоментар
pending Очікується протокол

При створенні Аварду

АБО

pending_waiting

АБО

pending_admission

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

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

АБО

Ручна дія.

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


Перехід із pending_waiting:

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

Якщо завершився qualificationPeriod і після 20 р.д. Організатор дискваліфіковує переможця, наступний у черзі, який очікує, вже НЕ отримує статус pending (на 21-й день вже не має бути Авардів у статусі pending_waiting, бо визначено одного, хто змінив свій статус на pending_admission, а всі інші змінили свій статус на cancelled)


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

Організатор вказав обсяг procedure.items.quantity == 1000

Учасник_1 бажає придбати awards.items.quantity == 700 по найбільшій ціні 120

Учасник_2 бажає придбати awards.items.quantity  ==  200 по ціні 110

Учасник_3 бажає придбати awards.items.quantity  ==  400 по ціні 100


В запропонований обсяг, що реалізує Організатор потрапляють тільки Учасник_1 і Учасник_2, бо їх сумарна заявка 700+200 = 900.

 (Учасник_3 не потрапляє в квоту, бо в його заяві quantity == 400, а залишок після Учасник_1 і Учасник_2 тільки 100)

В даному прикладі, Учасник_3 отримує статус pending_waiting

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

Учасник_3 автоматично отримує статус pending з своєю пропозицією 400, бо 400 повністю покривається обсягом 1000 (першого дискваліфікували, другий 200, третій 400, 200+400 = 600, що менше, ніж 1000)


Приклад2:

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

Учасник_1 запропонував awards.items.quantity  == 100 по найбільшій ціні 120

Учасник_2 запропонував awards.items.quantity  ==  200 по ціні 110

Учасник_3 запропонував awards.items.quantity  ==  900 по ціні 100


Обсяг 1000 повністю покриває тільки запропоновані обсяги Учасника_1 і Учасника_2. Запропонований Учасником_3 обсяг повнітю не реалізується (він запропонував 900, а після розподілення між першим і другим учасниками, залишилось не розподілено тільки (1000 - 100 - 200) == 700 )

В даному прикладі Учасник_3 отримує статус pending_waiting

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

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

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

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


Перехід із pending_admission:

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

pending_waiting Очікується рішенняПри створенні Аварду

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

Статус отримують Аварди одразу після завершення роботи модуля аукціону

Статус pending_waiting отримують Аварди, які перебувають у списку результатів Модуля Аукціону за умови, що обсяг, який вони вказали в заявці на участь повністю НЕ покривається обсягом, який вказав Організатор в оголошенні, з причини, що обсяг вже закритий іншими пропозиціями учасників, що запропонували більшу ціну.


Приклад 1:

Організатор вказав обсяг procedure.items.quantity == 1000

Учасник_1 вказав в заявці awards.items.quantit  == 700 по найбільшій ціні 120

Учасник_2 вказав в заявці awards.items.quantit  ==  200 по ціні 110

Учасник_3 вказав в заявці awards.items.quantit  ==  200 по ціні 100


Обсяг 1000 повністю покриває тільки запропоновані в заявках Учасника_1 і Учасника_2. Бажаний Учасником_3 обсяг повнітю не реалізується (він запропонував 200, а після розподілення між першим і другим учасниками, залишилось не розподілено тільки (1000 - 700 - 200) == 100 )

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


Приклад 2:

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

Учасник_1 вказав в заявці  awards.items.quantit 1000 по найбільшій ціні 100

Учасник_2 вказав в заявці  800 по ціні 110

Учасник_3 вказав в заявці  700 по ціні 100


Обсяг 1000 повністю покриває тільки бажаний обсяг Учасника_1. Бажаний Учасником_2 обсяг повністю не реалізується (він запропонував 800, а після Учасника_1 , залишилось не розподілено (1000 - 1000) == 0 )

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


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

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

pending_admissionУмовний переможецьpending_waiting

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

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

АБО

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

За умови, що всі Awards, що мали статус pending отримали статус active і їх повʼязані Contracts[] також отримали статус active

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

Три умови:
1. Триває qualificationPeriod 

2. Відсутні Аварди у статусі pending

3. Відсутні Contracts у статусі pending

Тоді ЦБД визначає Аварда, який набуває статус pending_admission



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

У випадку, коли Організатор успішно кваліфікував всіх переможців (всі Awards у статусі pending набули статусу active і їх повʼязані contracts[] також набули статусу active), не чекаючи 20-го дня після завершення МА, учасник одразу отримує статус pending_admission і отримує можливість погодитись чи відмовитись від нерозподіленого залишку обсягу.

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

В момент отримання Авардом статусу pending_admission, всі інші Аварди, які перебувають у статусі pending_waiting отримують статус cancelled

(дискваліфікація Переможців вже неможлива, бо закриті протоколи+договори. Вибор іншого "умовного переможця" не передбачений)

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

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

Ручна дія.

Організатор надсилає запит на зміну статуса Awards[].status: pending → active

Після завантаження в Awards[] протоколу Організатор надсилає запит на зміну Awards[].status: pending → active чим підтверджує підписання протоколу.

ЦБД автоматично створює до цього аварду contracts[] у статусі pending

cancelledУчасник не став переможцем

pending_admission

АБО

pending_waiting

із pending_admission:

Ручна дія.

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

АБО

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

Якщо протягом awards.admissionPeriod учасник ("Умовний переможець") не надав відповіді


із pending_waiting:

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

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

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

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

Якщо протягом awards.admissionPeriod учасник ("Умовний переможець") не надав відповіді, то ЦБД автоматично змінює статус його Аварда.





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

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

pending

АБО

active

Ручна дія.

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

Ручна дія.

Організатор надсилає запит на зміну статуса Аварда active → unsuccessful

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

pending → unsuccessful:

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

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

Anchor
contract_active_unsuccessful
contract_active_unsuccessful
active → unsuccessful:

При зміні статуса з active → unsuccessful Організатору необхідно заповнити поле terminationReason значенням зі словника

Обовʼязково завантажити документ з documentType: rejectionProtocol АБО act

...

draw.io Diagram
bordertrue
diagramNameBSM_contract_statuses
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth437
revision1




Технічна назваБізнесова назваПерехід зЗа умовиКоментар
pendingОчікується договірМомент набуття Award-ом статусу active

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

Якщо будь-який Авард набуває статусу active, то ЦБД автоматично створює повʼязаний contracts у статусі pending.


activeДоговір підтвердженоpending

Ручна дія.

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

При зміні contracts[].status: pending → active, на ЦБД має відбутися перевірка на наявність в contracts[].documents документа з documentType: contractSigned

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

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

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

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


Документи контракту (contracts.documents)

documentTypeНазва УкрНазва АнгОпис

Обовʼязковіть

Публічність
contractSignedПідписаний договірSigned contract

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

Так

Для зміни contracts.status: pending → active

Так
contractAnnexeДодатки до договоруContract annexe

Додатки до договору

Ні

Так
contractNoticeПовідомлення про договірContract notice

Повідомлення про договір

Ні


Так
digitalSignatureЦифровий підписDigital signatureЦифровий підписНіТак

Логіка проведення кваліфікації

...

Організатор має можливість завершити аукціон у разі підтвердження або дискваліфікації учасників, які не пройшли кваліфікацію (всі Awards знаходяться у статусі active, unsuccessful, cancelled). Після завершення роботи із договором з кожним переможцем, Замовник аукціону натискає на кнопку “Завершити аукціон”. Після чого процедура змінює статус на complete.


Модель

basicSell.

basicSellMultiAwardsProcedure

  typereadOnlyОбовʼязково передавати при публікації процедуриx-legalNameUax-legalNameEnКоментар
owner  stringtrue
Ідентифікатор майданчикаBroker identifier
ownerToken

string($uuid)true



_id

stringtrue
Внутрішній ідентифікатор аукціонуID
datePublished  string($date-time)true
Дата публікації процедуриPublished date
dateModified  string($date-time)true
Остання дата зміни процедуриProcedure date modified
auctionId  stringtrue
Ідентифікатор аукціонуAuction IDBSM
disqualifiedBids  

list[]

string

true
Раніше дискваліфікованіPreviously disqualified

логіку робили для BSE/BSD тут

необхідно таку ж логіку для BSM

previousAuctionId  string

Номер попереднього аукціонуPrevious auction Idpattern: ^(BS[EDMW][0-9]{3}-UA-[0-9]{8}-[0-9]{5}|[a-zA-Z]{2}-[a-zA-Z]{2}-[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{6}-[0-9])$
sellingMethod  string
+Тип процедуриProcedure type

basicSell-multiAwards

basicSell-multiAwards-ultra-fast

basicSell-multiAwards-fast

basicSell-multiAwards-fast-manual

basicSell-multiAwards-fast-auction-manual-qualification

basicSell-multiAwards-fast-auction-prod

basicSell-multiAwards-initial-auction

basicSell-multiAwards-initial-qualification

basicSell-multiAwards-initial-qualification-prod

basicSell-multiAwards-initial-qualification-fast

basicSell-multiAwards-initial-auction-manual

sellingEntity  

model

base.Organization


+Інформація про замовника аукціонуOrganizer information
Аналогічна, як у BSE
Використовуємо готову модель із basicSell-english

name

model

base.multiLang



Повна юридична назва організації або ПІБLegal name or Full Name

identifier

model

base.Identifier


+Ідентифікатори організації або особиIdentifierВикористовуємо готову модель із basicSell-english


schemestring
+Ідентифікатори організаціїID type

Обирається одне значення зі словників:
https://procedure-sandbox.prozorro.sale/api/classifiers/identifiers
https://procedure-sandbox.prozorro.sale/api/classifiers/ua_identifiers



legalName

model

base.multiLang


+Повна юридична назва організаціїLegal nameДля публікації процедури обовʼязково заповнено legalName.uk_UA


idstring
+Код ЄДРПОУ або ІПН або паспортLegal ID

address

model

anyOf → base.Address

               base.AddressUa


+АдресаAddressВикористовуємо готову модель із basicSell-english


countryName

model

base.multiLang


+КраїнаCountry

uk_UA - Для публікації процедури обовʼязково для заповнення



region

model

base.multiLang


+ОбластьRegion

uk_UA - Для публікації процедури обовʼязково для заповнення



locality

model

base.multiLang


+Населений пунктLocalityuk_UA -Для публікації процедури обовʼязково для заповнення


streetAddress

model

base.multiLang


+АдресаAddressuk_UA - Для публікації процедури обовʼязково для заповнення


postalCodestring

Поштовий індексZIP codepattern: ^[0-9]{5}$

representativeInfo string

Інформація щодо підтвердження повноваженьRepresentative information

contactPoint 

model

base.ContactPoint


+Контактна особаMain contactВикористовуємо готову модель із basicSell-english


name

model

base.multiLang


+ПІБMain contact nameuk_UA - Для публікації процедури обовʼязково для заповнення


emailstring($email)
+Адреса електронної пошти
Main contact e-mail


telephonestring
+Номер телефонуPhone number


faxNumberstring

Номер факсуFax number


urlstring($uri)

Веб адресаWebsite
lotId
 string
+Номер лотуLot number
title
 

model

base.multiLang


+Заголовок аукціону
uk_UA - Для публікації процедури обовʼязково для заповнення
description
 

model

base.multiLang


+Опис аукціону
uk_UA - Для публікації процедури обовʼязково для заповнення
accessDetails

model

base.multiLang



Порядок ознайомлення з майном, час і місце проведення огляду об’єктаAuction access details
bankAccounts
 

model

basicSell.BankAccountsByType


+Банківські рахункиBank accounts
Використовуємо готову модель із basicSell-english
При публікації обов'язковоодинбанківськийрахунокзтипом guarantee івалютою UAH. Рахунківдлякожноготипув UAH/USD/EUR можебутибезліч.

accountType 

 



Тип рахункуAccount type
Enum: registrationFee, guarantee, other, payment ]

accounts 

 

 


Рахунок
 
Account
Використовуємо готову модель із basicSell
.BankAccountWithCurrency
-english
x_documentRequirements

model

base.multiLang



Перелік та вимоги до оформлення документівDocument requirements
x_additionalInformation
 

model

base.multiLang



Додаткові відомостіOther requirements and additional information
value
 

model

ValueWithTax


+Мінімальна цінова пропозиціяMin bid value
 

 currency 

string


+ВалютаCurrency

Enum: [UAH, USD, EUR]

 amount 

number($float)


+СумаAmount
 valuePer 

model

base.Unit



Одиниця виміруMeasure unit

default: заповнюємо значенням із procedure.items[0].unit

Організатор може передати інше значення за потреби

(Наприклад, в REM ціна була за KWH, хоча items[].unit = KWT)

Вказані одиниці ніяк не впливають на розрахунки!
Тобто, якщо Організатор реалізує Тонни, а ціну вказує за Кг, то коректного автоматичного розрахунку ціни НЕ буде.

 valueAddedTaxIncluded 

boolean



ПодатокTax

default: true

Організатор може передати інше значення за потреби

valueAddedTaxCharged  

boolean



На фінальну суму нараховується ПДВValue added tax charged

default: false

Організатор може передати інше значення за потреби

discount  

model

base.Discount



ЗнижкаDiscount

Використовуємо готову модель із basicSell

base.Discount

-english

guarantee
 

model

base.Value


+Гарантійний внесокGuarantee 

Використовуємо готову модель із basicSell-english

base.Value

minimalStep

model

base.Value

true
Розмір кроку аукціонуMinimal Step

Організатор НЕ передає це поле. При публікації процедури автоматично генерується, як:

"currency": == value.currency
"amount": 0.01

 currency

string

true ВалютаCurrency

default: == value.currency

 amount
number($float)true СумаAmount

default: 0.01

minimalPart

number($float)
minNumberOfQualifiedBids
 

integer($int64)

+Мінімальна часткаMinimal part

minimum: 0
example: 11.1126

x-strict: 4

minNumberOfQualifiedBids
 

integer($int64)



Мінімальна
Мінімальна
кількість заяв учасниківMinimal number of bids

default: 2

Організатор може передати значення 1 за потреби

minimum: 1
maximum: 2

tenderAttempts
 

integer($int64)



Лот виставляєтьсяAttempt number

default: 1

minimum: 1

items[]
 

list[]

model

basicSell-multiAwards.Item



Склад лотаLot composition

МАЄ БУТИ МОЖЛИВІСТЬ ДОДАТИ ТІЛЬКИ ОДИН item В МАСИВ items[] !
НЕ МОЖЕ БУТИ ДЕКІЛЬКА items в items[]

 id 

string

true
Внутрішній ідентифікатор обʼєктаItem ID

 

 description 

model

base.multiLang


+Опис лотаItem description

uk_UA - Для публікації процедури обовʼязково для заповнення

 classification 

model

Classification


+КласифікаторClassification

 

 
scheme

string


+
Схема класифікатораItem classification scheme

Enum: [CAV]


 
description

model

base.multiLang

true
Опис коду классифікатораClassification ID


 
id

string


 +Код классифікатораClassification ID
 unit 

model

base.Unit

true Одиниці виміру обʼєктаItem unit

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

Організатор НЕ передає це поле

 code

string

true Код одиниці виміруUnit code

default: KWT

 name

model

base.multiLang

true Назва одиниці виміруItem unit name

default:

"uk_UA": "Кіловат-година",
"en_US": "kilowatt hour"

Можливість обрати тільки один із:

  • 03000000-1 Сільськогосподарська, фермерська продукція, продукція рибальства, лісівництва та супутня продукція та всі вкладені коди
  • 09000000-3 Нафтопродукти, паливо, електроенергія та інші джерела енергії та всі вкладені коди
  • 14000000-1 Гірнича продукція, неблагородні метали та супутня продукція та всі вкладені коди
  • 15000000-8 Продукти харчування, напої, тютюн та супутня продукція та всі вкладені коди
  • 18000000-9 Одяг, взуття, сумки та аксесуари та всі вкладені коди
  • 19000000-6 Шкіряні та текстильні, пластмасові та гумові матеріали та всі вкладені коди
  • 22000000-0 Друкована та супутня продукція та всі вкладені коди
  • 24000000-4 Хімічна продукція та всі вкладені коди
  • 44000000-0 Конструкції та конструкційні матеріали; допоміжна будівельна продукція (крім електроапаратури) та всі вкладені коди
 unit 

model

base.Unit


 +Одиниці виміру обʼєктаItem unit

Використовуємо готову модель із basicSell-english

словник https://procedure.prozorro.sale/api/classifiers/unitCode
Обов'язково вказувати, код одиниці виміру

P.S.: Тонни - це TNE

 
code

string


 +Код одиниці виміруUnit code
 
name

model

base.multiLang

true Назва одиниці виміруItem unit name

Автозаповнюється значенням із словника в залежності від значення unit.code

 quantity 

number($float)

  +Кількість одиницьItem quantity

minimum: 0
example: 11.1126

x-strict: 4

 address 

model

base.AddressUa

  +МісцезнаходженняItem address

Використовуємо готову модель із basicSell-english


P.S.: Поставив "+" в "обовʼязково для заповнення, бо класифікатори, які використовуютьсі в цій процедурі вимагають заповннення адреси

 additionalClassifications[] 

list[]

model

basicSell.AdditionalClassification

  Додатковий класифікаторItem additional Classification ID

Використовуємо готову модель із basicSell-english

Вказання додаткового класифікатора Не обовʼязкове при публікації процедури

  scheme

string

  Схема додаткового класифікаторуItem additional classification schemeEnum: [CPVS,CVZU]
  description

model

base.multiLang

 true Опис додаткового класифікаторуItem additional classification description

 Автозаповнюється в залежності від additionalClassification.id

   id

 string

  Код додаткового класифікатору
Item additional classification IDЗначення із словника CPVS або CVZU обирає Організатор при публікації
 location 

model

base.Location

  КоординатиLocationВикористовуємо готову модель із basicSell-english
  latitude

string

  ШиротаLatitude
  longitude

string

  ДовготаLongitude
  elevation

string

  ВисотаElevation
 basicSellItemType 

string

    

Використовуємо логіку із basicSell-english

P.S.: але для Класифікаторів, які доступні в цій процедурі нічого тут генеруватися не буде, а класифікатори, для яких тут генерується значення не використовуються в цій процедурі

 itemProps[] 

model


  Технічні характеристикиTechnical characteristics

Використовуємо логіку із basicSell-english

anyOf →

basicSell.LandProps
basicSell.RealEstateProps
basicSell.JointPropertyComplexProps
basicSell.VehicleProps

P.S.: але для Класифікаторів, які доступні в цій процедурі нічого тут генеруватися не буде, бо класифікатори, для яких тут генерується значення не використовуються в цій процедурі


registrationDetails

model

base.RequiredRegistrationDetails



Інформація щодо реєстраціїRegistration detailsВикористовуємо логіку із basicSell-english


registrationStatusstring

Стан державної реєстрації об''єктуState of official registration of the registry


registrationIDstring

Номер записуRegistration ID


registrationDatestring

Дата реєстраціїRegistration date
isPerishable
 boolean

Майно, що швидко псуєтьсяPerishable property

Використовуємо логіку із basicSell-english

default: false

!!! Якщо Організатор при створенні процедури обрав Основний класифікатор (чи вкладені в них):
03000000-1 – Сільськогосподарська, фермерська продукція, продукція рибальства, лісівництва та супутня продукція
15000000-8 – Продукти харчування, напої, тютюн та супутня продукція та всі вкладені коди

В інших випадках віддавати валідаційну помилку при публікації Процедури, що обраний класифікатор не дозволяє встановити параметр isPerishable: true

 quantity 

number($float)

  Розмір частки річної квотиItem quantity

Для публікації процедури обовʼязково для заповнення

 address 

 

  

ВИДАЛЯЄМО

 itemProps[] 

model

Renewables

  

 

  regions[]

string

  Області, в яких розподіляється обсяг лотаLot regions

Enum: [Автономна Республіка Крим, Вінницька область, Волинська область, Дніпропетровська область, Донецька область, Житомирська область, Закарпатська область, Запорізька область, Івано-Франківська область, Київська область, Київ, Кіровоградська область, Луганська область, Львівська область, Миколаївська область, Одеська область, Полтавська область, Рівненська область, Севастополь, Сумська область, Тернопільська область, Харківська область, Херсонська область, Хмельницька область, Черкаська область, Чернівецька область, Чернігівська область]

  techParams

string

  Технічні параметри установок зберігання енергії, які можуть бути встановлені на об’єктіTechnical parameters of energy storage installations that can be installed at the facility

 

  timeSlots

string

  Денні часові інтервали, протягом яких учасник може набути право на підтримкуDaily time intervals during which the economic entity can acquire the right to support

 

  loadProfiles

string

  Профілі навантаження об’єкта електроенергетикиLoad profiles of the power plant

 

 additionalClassifications[] 

list[]

model

AdditionalClassification

  Вид джерела енергіїType of energy source

МАЄ БУТИ МОЖЛИВІСТЬ ДОДАТИ ТІЛЬКИ ОДИН additionalClassification В МАСИВ!
НЕ МОЖЕ БУТИ ДЕКІЛЬКА additionalClassification в одному айтемі !

  scheme

string

  Схема додаткового класифікаторуItem additional classification schemeDict: generationType  description

model

base.multiLang

 true Опис додаткового класифікаторуItem additional classification description

 Автозаповнюється цз словника generationType згідно коду

   id

 string

  Код додаткового класифікатору
Item additional classification ID

 x-dictionaries: List [ "generationType" ]

 location 

model

base.Location

     

 documents[]  

model

base.Documents

    

documentOf: auction

documentType: [illustration, technicalSpecifications, evaluationCriteria, contractProforma, x_lotInfoEN, x_verificationAct, guaranteeTemplate, clarifications, digitalSignature]

Використовуємо логіку із basicSell-english

 bids[]  

model

renewables

basicSell-multiAwards.Bid

  Заява на участь Bid

 

 owner 

string

 true Ідентифікатор майданчика Broker ID

 

 ownerToken 

string($uuid)

 true   

 

 id 

string

 true Ідентифікатор заяви на часть Bid ID

 

 bidders[] 

model

base.Organization

  Інформація учасника Bidder info

 Використовуємо логіку із basicSell-english

  name

model

base.multiLang

true Повна юридична назва організації або ПІБLegal name or Full Name

Автозаповнюється автоматично із identifier.legalName.*

  identifier

model

base.Identifier

  Ідентифікатори організації або особиIdentifier

scheme*

string
x-dictionaries: List [ "identifiers", "ua_identifiers" ]

x-legalNameUa: Ідентифікатори організації

x-legalNameEn: ID type

Обирається одне значення зі словників:
https://procedure-sandbox.prozorro.sale/api/classifiers/identifiers
https://procedure-sandbox.prozorro.sale/api/classifiers/ua_identifiers


legalName*

model

base.MultiLang


id*

string
x-legalNameUa: Код ЄДРПОУ або ІПН або паспорт

x-legalNameEn: ID


Обовʼязкові поля для активації Біда

  address

model

anyOf -> base.Address

OR baseAddressUa

  АдресаAddress

Обовʼязкові поля для активації Біда:

countryName

region

locality

streetAddress

  representativeInfo

string

  Інформація щодо підтвердження повноваженьRepresentative information
  contactPoint

model

base.ContactPoint

  Контактна особаMain contact

Обовʼязкові поля для активації Біда

name

email

telephone

 datePublished string($date-time)
 
true Дата заяви на участь Bid date

 

 dateModified 

 string($date-time)

 
true Остання дата редагування ставкиBid modified date

 

 status 

 string

  Статус заяви на участьBid status

 Enum:[draft, active, deleted, inactive]

 value 

model

  Цінова пропозиція за
1 кВт*год
одиницю обсягуPrice per
1 kW·h
unit

Обовʼязкове поле для активації Біда

  currency

string

  ВалютаCurrency

Enum:[

eurocent

 UAH, USD, EUR ]

Обовʼязкове поле для активації Біда

  amountnumber($float)  СумаAmount

Обовʼязкове поле для активації Біда

 documents[]

 

model

base.Documents

  Документи до заяви про участьBid documents

Використовуємо логіку із basicSell-english

documentOf: bid

documentType: [

auctionProtocol

 commercialProposal, x_

guarantee, х_ultimateBeneficiaryInfo

passport, x_

governingBodyInfo

IPN, x_

relatedParties

tenderersRegisterExtract,

x_generationType

qualificationDocuments, eligibilityDocuments, digitalSignature

]

, auctionProtocol ]

 participationUrl 

 string

 participationUrl 

 string

 true Веб-адреса для участі в аукціоніBidder participation link

 

 order

  integer($int64)

 true   

 

 classification[]  

ВИДАЛИТИ

 additionalClassifications[]  

ВИДАЛИТИ

 unit 

model

Unit

true Веб-адреса для участі в аукціоніBidder participation link

 

 
readOnly: truestring
order

 

 code

 integer($int64)

true 
Код одиниці виміруUnit codedefault: KWT
  
name

model

base.multiLang

true Назва одиниці виміруItem unit name

default:

"uk_UA": "Кіловат-година",
"en_US": "kilowatt hour"

Використовуємо логіку із basicSell-english

 quantity 

 number($float)

 
 Розмір частки квоти в заяві
+Бажаний обсяг активуBid quantity
Обовʼязкове поле для активації Біда

minimum: 0
example: 11.1126

x-strict: 4

 
qualified
inactiveBidDate 

 

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

Використовуємо логіку із basicSell-english

 ВИДАЛИТИ

 initialValueAmount 

number($float)

 
true Початкова ставкаStart bid amount
 

Використовуємо логіку із basicSell-english

questions[]  

model

base.Questions

  Запитання до аукціонуQ&A
 

Використовуємо логіку із basicSell-english

awards[]  

model

  Обʼєкт кваліфікаціїAward

 

 id 

string

 
true ідентифікатор обʼєкта кваліфікаціїAward ID

 

 title 

model

base.multiLang

  Назва обʼєкта кваліфікаціїAward title

 Я БИ ВИДАЛИВ Awards.title та Awards.description.

Вони не заповнюються і не розумію навіщо потрібні. Але присутні у всіх Процедурах


 description 

model

base.multiLang

  Опис обʼєкта кваліфікаціїAward description
 


 status 

string

   СтатусStatus

Enum: [

verification, waiting,

pending, pending_waiting

, procotol_signed

, pending_admission, active

, rejected

, unsuccessful, cancelled]

 terminationReason string  Причина дискваліфікаціїTermination Reason

 dict:

renewablesTerminationReason

basicSellTerminationReason

 datePublished string($date-time) true Дата створенняAward published date

 

 value model  Цінова пропозиція за одиницю обсягуAward price per unit

 

  currencystring

ВалютаCurrencyEnum:[
eurocent
 UAH, USD, EUR ]
  amountnumber($float)

СумаValue
 buyers[] 

model

base.Organization



Дані учасникаAward buyer info 
КОПІЮЄТЬСЯ ІЗ ПОВʼЯЗАНОГО BID
Використовуємо логіку із basicSell-english
  name

model

base.multiLang



Повна юридична назва організації або ПІБLegal name or Full Name
  identifier

model

base.Identifier



Ідентифікатори організації або особиIdentifier
  address

model

base.Address

base.AddressUa



АдресаAddress
  representativeInfo

string



Інформація щодо підтвердження повноваженьRepresentative information
  contactPoint

model

base.ContactPoint



Контактна особаMain contact
 items[] 
    
 

Поля копіюються із procedure.items[]

  id

string

true
Внутрішній ідентифікатор обʼєктаItem ID

копіюється id айтема із процедури

  description

model

base.multiLang



Опис лотаItem description

копіюється description

айтема із

із item-а процедури

  classification

model

Classification



КласифікаторClassification

копіюється classification

айтема

із item-а процедури

  unit
  
 
Одиниця виміру
 
 Unit

копіюється

із повʼязаного Біда  quantity

 number($float)

  Розмір частки квотиAward quantity

ЛОГІКА ВІДОБРАЖЕННЯ quantity в Аварді:

У статусі [verification, waiting, unsuccessful, pending, protocol_signed, active, pending_admission] - відображаємо quantity

У статусі [cancelled, pending_waiting] - не відображаємо

копіюється із повʼязаного Біда

unit із item-а процедури

  address


    
 ВИДАЛЯЄМОКопіюється із
копіюється address із item-а процедури


  itemProps[]

модель items[].itemProps використовуємо таку саму, як і в процедурі вище






копіюється itemProps[] із item-а процедури

  additionalClassifications[]





копіюється additionalClassifications[]
Копіюється із
 із item-а процедури
 quantity 
location

 number($float)

  
  
Бажаний обсяг активуAward quantity

копіюється із повʼязаного Біда: bids[].quantity

 



 documents[] 

model

Documents

  
 
Документи до авардуAward documents
 

documentOf: award

documentType:[rejectionProtocol, auctionProtocol, act, digitalSignature] 

 dateModified 

string($date-time)

  
 
Дата зміни авардуAward date modified
 

 

 bidId 

string

  
  
Ідентифікатор заяви на участь учасника аукціону Bid id

 

 signingPeriod 

model

base.Period

  Період підписання договоруSigning period

 

 verificationPeriod 

model

base.Period

  Період підписання протоколуVerification period

 

 admissionPeriod 

model

base.Period



Період прийняття рішення щодо набуття статусу переможцяAdmission periodгенерується для Аварду, що набуває статусу pending_admission
timer

string($date-time)true



archiveId

stringtrue



contracts[]

model

renewables

basicSell-multiAwards.Contract







id
stringtrue




awardId
stringtrue




contractNumber
string





title

model

base.multiLang







description

model

base.multiLang







value

model

Value








currency









amount








contractTotalValue

model

Value








currency









amount








items[]





копіюється із повʼязаного Award в тій самій структурі

buyers[]





копіюється із повʼязаного Award

status



СтатусStatusEnum:[pending,active,cancelled]

dataSigned



Дата підписання договоруContract date signed

datePublished







dateModified







documents[]

model

Document



Документи договоруContract documents

documentOf: contract

documentType: [contractSigned, contractAnnexe, contractNotice, digitalSignature]


contractTime





ВИДАЛИТИ

x_valueUAH





ВИДАЛИТИ
rectificationPeriod

model

base.Period

true
Період редагуванняRectification period 
enquiryPeriod

model

base.Period

true
Період відповідейEnquiry period 
tenderPeriod

model

base.Period

true
Період прийняття заяв на участьTender period 
auctionPeriod

model

base.Period

true
АукціонAuction 
waitingPeriod

model

base.Period

ПЕРЕЙМЕНУВАТИ НА qualificationPeriod
qualificationPeriod

model

base.Period

true
Період кваліфікаціїQualification periodте саме, що й waitingPeriod (замінити назву)
verificationPeriod

model

base.Period

true
Період верифікації документівVerification period 
questionPeriod

model

base.Period

true
Період запитаньQuestion period 
status

 true
СтатусStatus

Enum: [active_rectification, active_tendering, active_auction, 

qualification, active_qualification, complete, unsuccessful, cancelled]

cancellations[]

model

base.Cancellation



Скасування аукціонуAuction cancelleation 
 id

string

true


 
 reason

model

base.multiLang





 
 documents[]

model

Documents





documentOf: cancellation

documentType: [cancellationDetails, digitalSignature]

 datePublished
string($date-time)

Дата прийняття рішення про скасуванняCancellation date 


Архів