Versions Compared

Key

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

...

Загальний вигляд сторінки створення demo-аукціону

Прототип

Image RemovedImage Added

Логіка по полям

...

Текст "Як працює аукціон з декількома переможцями"

Сторінка Посилання на сторінку https://prozorro.sale/multi-awards-auctions/ буде складена на Порталі/handbook/aukcion-z-mozhlivistyu-prodazhu-kilkom-peremozhcyam/


Напрямок ціни

Випадаючий список single select вибору:

Напрямок ціни
Ціна зростає
Аукціон на підвищення
Аукціон на пониженняЦіна спадає

Default - Ціна зростаєАукціон на підвищення


Дата та час проведення

Коли користувач відкриває сторінку, автоматично заповнюємо поле значенням currentTime + 5 хв

...

Default - currentTime + 5хв

Валідація: Поле «Дата та час проведення» не може бути в минулому


Назва аукціону

Поле типу string

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення" то поле "Назва аукціону" заповнється  заповнється default значенням:

УКР: "Вторинна металева відновлена сировина (брухт чорних металів (брухт транспортних засобів, вагончика, канатів металевих, стружка))"

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження" то поле "Назва аукціону" заповнється default значенням:

...

Користувач може редагувати текст.

Валідація: Поле «Назва аукціону» не може бути пустимпорожнім

Коли поле пусте, в полі вводу відображається "Введіть назву або згенеруйте назву автоматично"

Якщо користувач натискає на "згенеруйте назву автоматично" необхідно автоматично заповнити поле текстом вище, який вказано в Default.


Опис аукціону

Поле типу string

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення" то поле "Опис аукціону" заповнється default значенням:

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження" то поле "Опис аукціону" заповнється default значенням:

...

Користувач може редагувати текст.

Валідація: Поле «Опис аукціону» не може бути пустим

Валюта аукціону

порожнім

Коли поле пусте, в полі вводу відображається "Введіть опис або згенеруйте опис автоматично"

Якщо користувач натискає на "згенеруйте назву автоматично" необхідно автоматично заповнити поле текстом вище, який вказано в Default.


Валюта аукціону

Випадаючий список Випадаючий список single select вибору.

Валюта аукціону
грн
USD
EUR
eurocent

...

  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження", то Валюта аукціону має заповнитись default значенням "eurocent"
  • Для всіх інших випадків default значення для поля "Валюта аукціону: грн"

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення" то поле "Початкова ціна" заповнється default значенням: 3 315.00 грн
  • якщо користувач обрав"Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження" то поле "Початкова ціна" заповнється default значенням: 9.00 eurocent
  • Для інших варіантів залишаємо без змін

...

Поряд з числом має відображатись вибрана вище користувачем Валюта аукціону:

Значення повинно бути менше або рівне 9999999999999.99

Крок аукціону

Image Removed

Валідації:

Поле «Початкова ціна» не може бути порожнім

Якщо користувач очистив поле, то відображаємо: "00.00"

Значення повинно бути менше або рівне 9999999999999.99


Крок аукціону

Image Added

Поле Поле типу number

Приймає тільки цифри та "." для відокремлення копійок.

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення" то поле "Крок аукціону" заповнється default значенням: 100.00 грн
  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження" то поле "Крок аукціону" заповнється default значенням: 0.01 eurocent eurocent БЕЗ МОЖЛИВОСТІ ЗАДАТИ ІНШЕ ЗНАЧЕННЯ
  • Для інших варіантів залишаємо без змін

...

У користувача може бути можливість ввести своє значення ціни. Поряд з числом має відображатись вибрана вище користувачем Валюта аукціону

Валідації:

Крок аукціону може бути тільки додатнім числом. Не може бути = 0.00

Значення повинно бути менше або рівне 9999999999999.99Поряд з числом має відображатись вибрана вище користувачем Валюта аукціону

Поле «Крок аукціону» не може бути порожнім

Якщо користувач очистив поле, то відображаємо: "00.00"


Кількість активу

Поле типу number

...

  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення" то поле "Кількість активу" заповнється default значенням: 362
  • якщо користувач обрав "Тип аукціону: З декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження" то поле "Крок аукціону" заповнється default значенням: 11 000
  • Для інших варіантів залишаємо без змін

...

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

Валідації:

Кількість активу може бути тільки додатнім числом. Не може бути 0.00

Поряд з числом має відображатись вибрана нижче користувачем Одиниця виміру актива:

Image Removed

Одиниця виміру актива

Значення повинно бути менше або рівне 9999999999999.99

Валідаційна помилка, коли користувач очищає дані в полі: Поле «Кількість активу» не може бути порожнім

Якщо користувач очистив поле, то відображаємо: "00.00"


Поряд з числом має відображатись вибрана нижче користувачем Одиниця виміру актива:

Image Added


Одиниця виміру актива

Випадаючий список single select вибору.

...

  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення", то "Одиниця виміру актива" має заповнитись default значенням: "тонни"
  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження", то "Одиниця виміру актива" має заповнитись default значенням: "кВт"
  • для інших типів аукціону поле "Одиниця виміру актива" відсутнє і, відповідно, не заповнюється

...

Користувач може обрати інше значення із списку.

...


Мінімальний обсяг активу

Поле типу number

Приймає тільки цифри та "." для відокремлення дробової частини.

...

  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення", то "Мінімальна частка активуМінімальний обсяг активу" має заповнитись default значенням: 10
  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна спадає", то поле "Мінімальна частка активу" має заповнитись default значенням: 1
  • для інших типів аукціону поле "Мінімальна частка активуМінімальний обсяг активу" відсутнє і, відповідно, не заповнюється

...

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

"Мінімальна частка активуМінімальний обсяг активу" може бути тільки додатнім числом. Не може бути 0.0000

Поряд з числом має відображатись вибрана вище користувачем Одиниця виміру актива


Кількість учасників

Валідації:

Мінімальна кількість учасників: 2

Максимальна кількість учасників: 99

Default - відображаємо два учасники.


Користувач може вказати кількість Учасників.

...

  • Якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Ціна зростаєАукціон на підвищення", то Цінова пропозиція має >= Початковій ціні.
    1. Якщо користувач вводить значення менше - відображаємо помилку: «Цінова пропозиція» не може бути меншою за «Початкову ціну»
  • Якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Ціна спадаєАукціон на пониження", то Цінова пропозиція має <= Початковій ціні, але більше 0.
    1. Якщо користувач вводить значення більше - відображаємо помилку: «Цінова пропозиція» не може бути більшою за «Початкову ціну»
  • Для всіх інших випадків логіку не змінюємо

...

  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна зростаєАукціон на підвищення", то "Цінова пропозиція" кожного учасника має заповнитись default значенням: 3 315.00
  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" та "Напрямок ціни: Ціна спадаєАукціон на пониження", то "Цінова пропозиція" кожного учасника має заповнитись default значенням: 9.00
  • для інших типів аукціону поле "Цінова пропозиція" залишається в поточній реалізації, без змін
Бажаний обсяг

Для кожного користувача є можливість задати Бажаний обсяг

Правила:

  • Незалежно від Типу аукціону і Напрямку ціни, "Бажаний обсяг" має бути <= Кількість активу і має бути > 0.

Поряд з Бажаним обсягом відображаємо Валюту аукціону вибрану користувачем вище

Default -


Валідації:

  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і та "Напрямок ціни: Ціна зростаєАукціон на підвищення", то "Бажаний обсяг" кожного Учасника = 130 «Цінова пропозиція» не може бути меншою за «Початкову ціну»
  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і та "Напрямок ціни: Ціна спадаєАукціон на пониження", то "Бажаний обсяг" кожного Учасника = 4 200

Поряд з Бажаним обсягом відображаємо Одиницю виміру активу вибрану користувачем вище

Функціонал видалення Учасників залишається без змін

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

Після публікації відображаються дві кнопки "Скасувати" та "Створити ще". Їх функціонал не змінюється.

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

Процедура має публікуватися з sellingMethod: basicSell-multiAwards-initial-auction-manual

  • «Цінова пропозиція» не може бути більшою за «Початкову ціну»

Поле «Цінова пропозиція» не може бути порожнім


Бажаний обсяг

Для кожного користувача є можливість задати Бажаний обсяг

Правила:

  • Незалежно від Типу аукціону і Напрямку ціни, "Бажаний обсяг" має бути <= Кількість активу і має бути > 0.

Поряд з Бажаним обсягом відображаємо Валюту аукціону вибрану користувачем вище

Default -

  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Аукціон на підвищення", то "Бажаний обсяг" кожного Учасника = 130
  • якщо користувач обрав "Тип аукціону: Аукціон з декількома переможцями" і "Напрямок ціни: Аукціон на пониження", то "Бажаний обсяг" кожного Учасника = 4 200


Поряд з Бажаним обсягом відображаємо Одиницю виміру активу вибрану користувачем вище

Валідації:

«Бажаний обсяг» не може бути більшим за «Кількість активу»

«Бажаний обсяг» не може бути менше за «Мінімальний обсяг активу»

Поле «Бажаний обсяг» не може бути порожнім



Функціонал видалення/редагування Учасників залишається без змін

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

Після публікації відображаються дві кнопки "Скасувати" та "Створити ще". Їх функціонал не змінюється.

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

Процедура у варіанті "Аукціон на підвищення" має публікуватися з sellingMethod: basicSell-multiAwards-initial-auction-manual

Проговорити priceTrend: ascending та descending від якого залежить напрямок

Процедура у варіанті "Аукціон на пониження" має публікуватися з sellingMethod: renewables-multiAwards-initial-auction-manual


Expand
titleПРИКЛАД ЗАПИТУ
Code Block
languagejs
{
    "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 аукціону виникла помилка:

Image AddedПроговорити priceTrend: ascending та descending від якого залежить напрямок

Нефункціональні вимоги

  1. Відображення на мобільних пристроях та різних роздільних здатностях є обов’язковим
  2. Врахувати можливість реалізації адаптивності (АА, ААА) в майбутньому
  3. Врахувати можливість реалізації “підказок” в майбутньому
  4. Навантаження: враховувати можливе збільшення кількості користувачів, які одночасно працюватимуть з функціоналом
  5. Розширюваність: існує ймовірність розширення функціоналу додатковими полями.

...