
Документи:
Загальний сторінки створення demo-аукціону
Прототип

Логіка по полям
Тип аукціону
Випадаючий список single select вибору.
До існуючого переліку додати "Аукціон з декількома переможцями"
| Тип аукціону |
|---|
| Англійський аукціон |
| Голландський аукціон |
| Нескінченний аукціон |
| Аукціон з переважним правом |
| Аукціон з декількома переможцями |
Default - Англійський аукціон
Інструкція до користування

Текст "Як працює аукціон з декількома переможцями"
Посилання на сторінку https://prozorro.sale/handbook/aukcion-z-mozhlivistyu-prodazhu-kilkom-peremozhcyam/
Випадаючий список single select вибору:
Default - Аукціон на підвищення
Дата та час проведення
Коли користувач відкриває сторінку, автоматично заповнюємо поле значенням currentTime + 5 хв
При оновленні сторінки Дата та час проведення оновлюється: updatePageTime + 5 хв
У користувача є можливість обрати дату та час в вікні вибору:

Default - currentTime + 5хв
Валідація: Поле «Дата та час проведення» не може бути в минулому
Назва аукціону
Поле типу string
P.S.: Бажано обмежити до 1500 символів, бо зараз обмежень немає..
Default -
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на підвищення" то поле "Назва аукціону"
УКР: "Вторинна металева відновлена сировина (брухт чорних металів (брухт транспортних засобів, вагончика, канатів металевих, стружка))"
ENG: "Recycled metal raw materials (scrap of ferrous metals (scrap of vehicles, trailers, metal ropes, shavings))"
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на пониження" то поле "Назва аукціону" заповнється default значенням:
УКР: "Розподіл додаткової річної квоти підтримки для об’єктів електроенергетики або черг будівництва (пускових комплексів) об’єктів електроенергетики, що виробляють електричну енергію з енергії сонячного випромінювання"
ENG: "Distribution of an additional annual quota for the support of electric power facilities or the construction phase (start-up complexes) of electric power facilities that produce electricity from energetic solar radiation."
Користувач може редагувати текст.
Валідація: Поле «Назва аукціону» не може бути порожнім
Коли поле пусте, в полі вводу відображається "Введіть назву або згенеруйте назву автоматично"
Якщо користувач натискає на "згенеруйте назву автоматично" необхідно автоматично заповнити поле текстом вище, який вказано в Default.
Опис аукціону
Поле типу string
P.S.: Бажано обмежити до 1500 символів, бо зараз обмежень немає..
Default -
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на підвищення" то поле "Опис аукціону" заповнється default значенням:
УКР: "Брухт чорних металів (брухт транспортних засобів, вагончика, канатів металевих, стружка)). Загальна кількість лоту - 362 т"
ENG: "Scrap ferrous metals (scrap vehicles, trailers, metal ropes, shavings)). The total number of the lot is 362 tons"
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на пониження то поле "Опис аукціону" заповнється default значенням:
УКР: "Вид альтернативного джерела енергії - енергія сонячного випромінювання; Частка річної додаткової квоти, що розподіляється на аукціоні - 11000 кіловат; Тип аукціону - аукціон закритого типу."
ENG: "A type of alternative energy source - solar radiation energy; The share of the annual additional quota distributed at the auction - 11,000 kilowatts; Auction type - closed auction."
Користувач може редагувати текст.
Валідація: Поле «Опис аукціону» не може бути порожнім
Коли поле пусте, в полі вводу відображається "Введіть опис або згенеруйте опис автоматично"
Якщо користувач натискає на "згенеруйте назву автоматично" необхідно автоматично заповнити поле текстом вище, який вказано в Default.
Валюта аукціону
Випадаючий список single select вибору.
| Валюта аукціону |
|---|
| грн |
| USD |
| EUR |
| eurocent |
Default -
- якщ"
- Для всіх інших випадків default значення для поля "Валюта аукціону: грн"
Початкова ціна
Поле типу number
Приймає тільки цифри та "." для відокремлення копійок.
Може бути тільки дві цифри після "."
Default -
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на підвищення" то поле "Початкова ціна" заповнється default значенням: 3 315.00 грн
- якщо користувач обрав"Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на пониження" то поле "Початкова ціна" заповнється default значенням: 9.00 eurocent
- Для інших варіантів залишаємо без змін
У користувача може бути можливість ввести своє значення ціни.
Початкова ціна може бути тільки додатнім числом. Не може бути = 0.00
Поряд з числом має відображатись вибрана вище користувачем Валюта аукціону:

Валідації:
Поле «Початкова ціна» не може бути порожнім
Якщо користувач очистив поле, то відображаємо: "00.00"
Значення повинно бути менше або рівне 9999999999999.99
Крок аукціону

Поле типу number
Приймає тільки цифри та "." для відокремлення копійок.
Може бути тільки дві цифри після "."
Default -
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на підвищення" то поле "Крок аукціону" заповнється default значенням: 100.00 грн
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на пониження" то поле "Крок аукціону" заповнється default значенням: 0.01 eurocent
- Для інших варіантів залишаємо без змін
У користувача може бути можливість ввести своє значення ціни. Поряд з числом має відображатись вибрана вище користувачем Валюта аукціону
Валідації:
Крок аукціону може бути тільки додатнім числом. Не може бути = 0.00
Значення повинно бути менше або рівне 9999999999999.99
Поле «Крок аукціону» не може бути порожнім
Якщо користувач очистив поле, то відображаємо: "00.00"
Кількість активу
Поле типу number
Приймає тільки цифри та "." для відокремлення дробової частини.
Може бути тільки чотири цифри після "."
Default -
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на підвищення" то поле "Кількість активу" заповнється default значенням: 362
- якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Аукціон на пониження" то поле "Крок аукціону" заповнється default значенням: 11 000
- Для інших варіантів залишаємо без змін
У користувача може бути можливість ввести своє значення кількості активу.
Валідації:
Кількість активу може бути тільки додатнім числом. Не може бути 0.00
Значення повинно бути менше або рівне 9999999999999.99
Валідаційна помилка, коли користувач очищає дані в полі: Поле «Кількість активу» не може бути порожнім
Якщо користувач очистив поле, то відображаємо: "00.00"
Поряд з числом має відображатись вибрана нижче користувачем Одиниця виміру актива:

Одиниця виміру актива
Випадаючий список single select вибору.
| Одиниця виміру актива | Словник |
|---|
| Кіловат | KWT |
| тонни | TNE |
| метри кубічні | MTQ |
| штуки | H87 |
Default -
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на підвищення", то "Одиниця виміру актива" має заповнитись default значенням: "тонни"
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на пониження", то "Одиниця виміру актива" має заповнитись default значенням: "кВт"
- для інших типів аукціону поле "Одиниця виміру актива" відсутнє і, відповідно, не заповнюється
Користувач може обрати інше значення із списку за наступною логікою:
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на підвищення", то в "Одиниця виміру актива" доступно:
| тонни | TNE |
| метри кубічні | MTQ |
| штуки | H87 |
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на пониження", то в "Одиниця виміру актива" доступно тільки:
P.S.: Інші значення не прийме ЦБД
Мінімальний обсяг активу
Поле типу number
Приймає тільки цифри та "." для відокремлення дробової частини.
Може бути тільки чотири цифри після "."
Default -
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на підвищення", то "Мінімальний обсяг активу" має заповнитись default значенням: 10
- для інших типів аукціону поле "Мінімальний обсяг активу" відсутнє і, відповідно, не заповнюється
У користувача може бути можливість ввести своє значення.
може бути тільки додатнім числом. Не може бути 0.0000
Поряд з числом має відображатись вибрана вище користувачем Одиниця виміру актива
Кількість учасників

Валідації:
Мінімальна кількість учасників: 2
Максимальна кількість учасників: 99
Default - відображаємо два учасники.
Користувач може вказати кількість Учасників.
Назва учасника
Назва для кожного учасника формується автоматично у форматі "Учасник Х", де Х - порядковий номер учасника.
У користувача є можливість редагувати назву кожного учасника. Поле назви Учасника не може бути пустим.
P.S.: бажано обмежити максимальну кількість символів у назві учасника до 300 символів. Зараз обмежень немає...
Default - відображаємо два учасники.
Цінова пропозиція
Для кожного користувача є можливість задати цінову пропозицію
Правила:
- Якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Аукціон на підвищення", то Цінова пропозиція має >= Початковій ціні.
- Якщо користувач вводить значення менше - відображаємо помилку: «Цінова пропозиція» не може бути меншою за «Початкову ціну»
- Якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Аукціон на пониження", то Цінова пропозиція має <= Початковій ціні, але більше 0.
- Якщо користувач вводить значення більше - відображаємо помилку: «Цінова пропозиція» не може бути більшою за «Початкову ціну»
- Для всіх інших випадків логіку не змінюємо
Поряд з ціновою пропозицією відображаємо Валюту аукціону вибрану користувачем вище
Default -
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на підвищення", то "Цінова пропозиція" кожного учасника має заповнитись default значенням: 3 315.00
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на пониження", то "Цінова пропозиція" кожного учасника має заповнитись default значенням: 9.00
- для інших типів аукціону поле "Цінова пропозиція" залишається в поточній реалізації, без змін
Валідації:
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на підвищення", то «Цінова пропозиція» не може бути меншою за «Початкову ціну»
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Аукціон на пониження", то «Цінова пропозиція» не може бути більшою за «Початкову ціну»
Поле «Цінова пропозиція» не може бути порожнім
Бажаний обсяг
Для кожного користувача є можливість задати Бажаний обсяг
Правила:
- Незалежно від Типу аукціону і Напрямку ціни, "Бажаний обсяг" має бути <= Кількість активу і має бути > 0.
Поряд з Бажаним обсягом відображаємо Валюту аукціону вибрану користувачем вище
Default -
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Аукціон на підвищення", то "Бажаний обсяг" кожного Учасника =
- якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Аукціон на пониження", то "Бажаний обсяг" кожного Учасника = Кількості активу
Валідації:
«Бажаний обсяг» не може бути більшим за «Кількість активу»
«Бажаний обсяг» не може бути менше за «Мінімальний обсяг активу»
Поле «Бажаний обсяг» не може бути порожнім
Функціонал видалення/редагування Учасників залишається без змін
Після публікації відображаються дві кнопки "Скасувати" та "Створити ще". Їх функціонал не змінюється.
Публікація процедури
Процедура у варіанті "Аукціон на підвищення" має публікуватися з sellingMethod: basicSell-multiAwards-initial-auction-manual
Проговорити priceTrend: ascending та descending від якого залежить напрямок
Процедура у варіанті "Аукціон на пониження" має публікуватися з sellingMethod: renewables-multiAwards-initial-auction-manual
{
"sellingMethod": "renewables-multiAwards-initial-auction-manual",
"auctionPeriod": {
"startDate": {{startDate}}
},
"title": { //сюди підставляємо Назва аукціону
"uk_UA": "Аукціон з розподілу квоти підтримки",
"en_US": "renewables"
},
"description": { // сюди підставляємо Опис аукіону
"uk_UA": "Аукціон з розподілу квоти підтримки",
"en_US": "renewables"
},
"sellingEntity": { //заповнюєио default
"identifier": {
"id": "43068454",
"scheme": "UA-EDR",
"legalName": {
"uk_UA": "ДП \"Гарантований Покупець\"",
"en_US": "EDRPOU"
}
},
"address": {
"streetAddress": {
"uk_UA": "Хрещатик, 45a",
"en_US": "Khreschatyk, 45a"
},
"locality": {
"uk_UA": "Київ",
"en_US": "Kyiv"
},
"region": {
"uk_UA": "Київ",
"en_US": "Kyiv"
},
"postalCode": "01002",
"countryName": {
"uk_UA": "Україна",
"en_US": "Ukraine"
}
},
"contactPoint": {
"name": {
"uk_UA": "Адміністратор",
"en_US": "Admin"
},
"telephone": "+380123456789",
"faxNumber": "+380123456789",
"email": "admin@example.com"
}
},
"x_documentRequirements": {
"uk_UA": "Вимоги до оформлення документів",
"en_US": "Document requirements"
},
"value": {
"currency": "eurocent", // сюди Валюта аукціону
"amount": 12 //сюди Початкова ціна
},
"minimalStep": {
"currency": "eurocent", // сюди Валюта аукціону
"amount": 0.01 //сюди Крок аукціону
},
"bankGuaranteeDetails": { //заповнюєио default
"uk_UA": "Інформація щодо банківської гарантії",
"en_US": "Bank guarantee info"
},
"lotId": "GE18566", //заповнюєио default
"items": [ //заповнюєио default
{
"description": {
"uk_UA": "Електрична, теплова, сонячна та атомна енергія",
"en_US": "Electricity, heating, solar and nuclear energy"
},
"classification": {
"scheme": "CAV",
"id": "09300000-2"
},
"additionalClassifications": [
{
"scheme": "generationType",
"id": "02"
}
],
"unit": {
"code": "KWT"
},
"quantity": 10000,
"itemProps": {
"regions": [
"Житомирська область",
"Кіровоградська область"
],
"techParams": "Технічні параметри установок зберігання енергії, які можуть бути встановлені на об’єкті",
"timeSlots": "Денні часові інтервали, протягом яких учасник може набути право на підтримку",
"loadProfiles": "Профілі навантаження об’єкта електроенергетики"
}
}
],
"documents": [ //заповнюєио default
{
"token": {{contractProforma_doc_token}},
"title": {
"uk_UA": "contractProforma",
"en_US": "Title"
},
"description": {
"uk_UA": "contractProforma",
"en_US": "Description"
},
"documentOf": "auction"
},
{
"token": {{x_lotInfoEN_doc_token}},
"title": {
"uk_UA": "x_lotInfoEN",
"en_US": "Title"
},
"description": {
"uk_UA": "x_lotInfoEN",
"en_US": "Description"
},
"documentOf": "auction"
}
],
"bids": [
{
"id": "{{bidder_id_0}}",
"ownerToken": "{{bidder_id_0_token}}",
"value": {
"currency": "eurocent",
"amount": 12
},
"quantity": 4000,
"status": "active",
"bidders": [
{
"identifier": {
"id": "33273907",
"scheme": "UA-EDR",
"legalName": {
"uk_UA": "ТОВ \"КРОНОСПАН УА\""
}
},
"address": {
"addressID": {
"id": "4600000000",
"scheme": "koatuu"
},
"streetAddress": {
"uk_UA": "вул.Дубова, 101"
},
"locality": {
"uk_UA": "Львів"
},
"region": {
"uk_UA": "Львівська область"
},
"countryName": {
"uk_UA": "Україна"
}
},
"contactPoint": {
"name": {
"uk_UA": "Sarah Connor"
},
"telephone": "+380999999999",
"email": "jpmorgan@gmail.com"
}
}
]
},
{
"id": "{{bidder_id_1}}",
"ownerToken": "{{bidder_id_1_token}}",
"value": {
"currency": "eurocent",
"amount": 12
},
"quantity": 4000,
"status": "active",
"bidders": [
{
"identifier": {
"id": "31147999",
"scheme": "UA-EDR",
"legalName": {
"uk_UA": "ТОВ \"СВІСС КРОНО\""
}
},
"address": {
"addressID": {
"id": "4600000000",
"scheme": "koatuu"
},
"streetAddress": {
"uk_UA": "вул.Горіхова, 102"
},
"locality": {
"uk_UA": "Львів"
},
"region": {
"uk_UA": "Львівська область"
},
"countryName": {
"uk_UA": "Україна"
}
},
"contactPoint": {
"name": {
"uk_UA": "Sarah Connor"
},
"telephone": "+380999999999",
"email": "jpmorgan@gmail.com"
}
}
]
}
]
} |
|
Якщо під час публікації Demo аукціону виникла помилка:

Робота з кнопками Скасувати/Скинути
Кнопки "Скасувати"/"Скинути" відображаються і стаються активними на сторінці після активації кнопки "Створити"
Для аукціону "Аукціон з декількома переможцями" на підвишення відображається кнопка "Скасувати" яка працює за логікою:
- Скасування аукціону
- Скидання даних до дефолтних значень
Для аукціону "Аукціон з декількома переможцями" на пониження відображається кнопка "Скинути" яка працює за логікою:
- Скидання даних до дефолтних значень без відміни аукціону
Нефункціональні вимоги
- Відображення на мобільних пристроях та різних роздільних здатностях є обов’язковим
- Врахувати можливість реалізації адаптивності (АА, ААА) в майбутньому
- Врахувати можливість реалізації “підказок” в майбутньому
- Навантаження: враховувати можливе збільшення кількості користувачів, які одночасно працюватимуть з функціоналом
- Розширюваність: існує ймовірність розширення функціоналу додатковими полями.