Потребує оновлення
Визначення
Модуль аукціонів (далі -МА) - частина платформи, що відповідає безпосередньо за змагальну частину процедури аукціону, коли учасники змінюють свої ставки згідно правил конкретної процедури продажу таким чином, щоб виграти в аукціоні та отримати право придбати лот (торги).
МА є складовою ЦБД, з якою користувач може контактувати безпосередньо (через користувацький інтерфейс).
Хід торгів є публічною інформацією, тож кожен аукціон має унікальне посилання, за яким будь-який користувач може спостерігати за аукціоном в режимі реального часу.
Кожна окрема процедура в МА має власну конфігурацію, що складається з опису послідовності раундів різних типів і налаштуваннями цих раундів. Загальні принципи побудови МА передбачають:
- можливість будь-якої комбінації і послідовності раундів
- відсутність дублювання функціональності різних типів раундів
- керування налаштуваннями конкретних раундів
- безперервність передачі даних: від раунду до раунду має передаватися повний масив даних з урахуванням модифікацій, що відбулись на пройденому кроці
Ролі
При роботі з МА існує дві основні ролі користувачів:
- Учасник: користувач, який згідно процедури аукціонів подав ставку і претендує на перемогу в аукціоні. Ця роль дозволяє користувачу під час роботи МА згідно правил раунду аукціону робити (змінювати) ставки та спостерігати за перебігом аукціону
- Спостерігач: користувач, який не подав ставку згідно процедурі аукціону, але має публічне посилання на аукціон. Ця роль дозволяє спостерігати за ходом аукціону згідно правил відображення ставок для типу аукціону
Дисклеймер
Дисклеймер - окремий екран в МА, що не є раундом аукціону, але виконує наступні функції:
- відображає інформацію про умови проведення електронних аукціонів
- блокує будь-які дії користувача до прийняття цих умов
- дає користувачу можливість погодитись на умови і продовжити роботу, або не погодитись, і повернутись на майданчик, через який він працює з аукціоном.
Дисклеймер відображається кожному користувачу з роллю Учасник в момент першого переходу за посиланням на конкретний аукціон. При повторному переході за цим посиланням дисклеймер не відображається. Дисклеймер складається з трьох основних компонентів:
- статичний текст:
- кнопка "ПОГОДЖУЮСЬ": після натискання цієї кнопки користувач потрапляє на екран аукціону, що є актуальним на момент переходу
- Додатково відображаєтсья попередження:
- Додатково відображаєтсья попередження:
- кнопка "НЕ ПОГОДЖУЮСЬ": при натисканні користувач перенаправляється на МА в ролі Спостерігача і не має можливості робити ставки, як учасник МА.
Браузери
Інтерфейс МА має коректно відображатись в актуальних версіях наступних браузерів:
- Chrome (4 останні версії)
- Firefox (4 останні версії)
- Edge (2 останні версії)
- Safari (2 останні версії)
- IE (2 останні версії)
При спробі користувача відкрити інтерфейс МА в браузері, що не підтримується, має виводитись повідомлення: "Нажаль, ця версія браузера не підтримується. Будь ласка, скористайтесь браузером Chrome / Firefox / Edge / Safari / Internet Explorer останньої стабільної версії. Unfortunately this version of browser is not supported. Please use Chrome / Firefox / Edge / Safari / Internet Explorer with latest stable version"
Локалізація і дані
Інтерфейс сторінки МА містить дані із трьох джерел:
- Дані із повʼязаної процедури
- Дані, згенеровані під час аукціону (хід торгів, попередні раунди)
- Статичні дані
Уся текстова інформація, що генерується безпосередньо МА, має бути доступне в двох мовах:
- українська (за замовченням)
- англійська
Структура реалізації локалізації має бути побудована таким чином, щоб була можливість збільшити/зменшити кількість мов. Користувач має мати можливість змінити мову локалізації, натиснувши на елемент зміни мови в інтерфейсі, що має призводити до негайної зміни мови усіх елементів.
Дані, що МА отримує з процедури (інформація про лот, процедуру тощо) має відображатись:
- мовою, що обрав користувач - у разі, якщо структура даних передбачає багатомовну інформацію, та ця інформація була заповнена до моменту початку аукціону
- українською - в усіх інших випадках
Переклад тексту для елементів інтерфейсу зазначається в тест-кейсах відповідної процедури
Логування
Передбачається два типи логування:
Публічне: журнал(лог) подій, що мають значення для опису перебігу аукціону та можуть впливати на результати торгів. Такий лог формується для кожного аукціону і має бути доступним за замовчанням без авторизації.
До публічного логу має потрапляти:
- _id (ідентифікатор процедури)
- дані, що генеруються кожним раундом аукціону (приклад)
Технічне (непублічне): лог подій, що містить усю інформацію про перебіг аукціону з деталізацією до рівню викликів АРІ МА. Такий лог не є публічним, і інформація по ньому за замовчанням є доступною тільки для адміністратора.
Події, що засвідчують вибірку інформації з технічного логу аукціону (адміністратором) мають фіксуватись в аудит-лог системи.
В технічний лог має потрапляти інформація про кожен виклик, що отримало АРІ МА, включаючи:
- факт авторизації користувачів
- факт зміни ставки користувачем
- також в лог має потрапляти інформація про всі зміни стану об'єктів, пов'язаних з конкретним аукціоном
Дизайн
Блоки:
- Auction information - обмежена загальна інформація про аукціон. Має постійно лишатись на екрані, закріпленим зверху екрану, зі статичною висотою
- Details - Розгорнута інформація про аукціон, а також інформація про сесії учасника. Має викликатись при натисканні відповідної кнопки в блоці Auction information
- DateTime - інформація про час до наступної зміни статусу аукціону. Наповнення може відрізнятись залежно від типу раунду та ролі користувача. Має постійно лишатись на екрані, під блоком Auction information, зі статичною висотою
- Infobar - сервісні повідомлення, згенеровані МА (проблеми зі зв'язком у клієнта, поява додаткових сесій з ключем користувача)
- Bid Information - інформація про перебіг торгів. Деталі визначаються типом раунду аукціону, на макетах. Займає весь вільний простір між закріпленими блоками. У разі необхідності має отримувати можливість вертикальної прокрутки
- Bid change - блок, в якому Учасник виконує дії по зміні своєї ставки. Доступен тільки для Учасників. Має постійно лишатись на екрані, закріпленим знизу екрану, зі статичною висотою
- Updates - відображає інформацію про зміни стану аукціону, а також інформацію про дії користувача з його ставками. Має зберігати усі повідомлення, що з'явились під час проходження аукціону та отримувати можливість вертикальної прокрутки за необхідності
- Language - має містити усі опції мов, що доступні в системі (українська, англійська)
- Exit - функція виходу з аукціону (зміни статусу користуваача з Учасника на Спостерігача). Доступний тільки для Учасників
Інтерфейс має автоматично адаптуватись під ширину екрану пристроя, на якому він відображається. При цьому закріплені блоки (Auction information, Bid change) мають постійно залишатись доступними для користувача. Блоки Language та Exit разом з відступами мають займати по 15% ширини екрану. Блоки Language та Exit при суттєвому зменшенні ширини екрану (до ??? рх) мають зсуватись під блок DateTime, на одному вертикальному рівні.
Текст/переклади елементів МА
Функціонал доступності в аукціонах
Особливості
Як зазначено вище, на результати сортування учасників впливає параметр dateModified за умови, що два або більше учасників подали однакову цінову пропозицію (value). Першим у відсортованому переліку буде учасник, у якого dateModified раніше, ніж у інших учасників з аналогічним value.
На прикладі:
- Бід_1 опублікував заявку 1000 грн в 13:20
- Бід_1 активував свою заявку в 13:22
- Бід_2 опублікував заявку 1000 грн в 16:30
- Бід_2 активував свою заявку в 16:35
- Бід_1 редагує свою заявку в 18:10 (немає значення які поля)
При сортуванні Переможцем (першим у списку) вважається Бід_2, бо датою заявки Бід_1 вважається не 13:22, а 18:10
В результаті: Бід_1 час == 18:10, а Бід_2 час == 16:35. У обох ставка 1000 грн. Переможець - Бід_2, бо він запропонував 1000 грн раніше за Бід_1
