Атестаційні завдання K2 ERP/Трансфери та таксі: відмінності між версіями
R (обговорення | внесок) Первинна публікація |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
= Модуль обліку замовлень трансферів і таксі: бронювання, водії, автопарк, платежі = | {{DISPLAYTITLE:Атестаційні завдання K2 ERP/Трансфери та таксі}} | ||
'''Атестаційне завдання K2 ERP — Трансфери та таксі''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні модуля обліку замовлень трансферів, таксі та корпоративних перевезень. | |||
Модуль має забезпечувати повний цикл роботи сервісу перевезень: прийом бронювання, облік клієнтів, водіїв і автомобілів, розрахунок вартості поїздки, призначення водія, контроль статусів, оплату, сповіщення клієнтів, оцінювання поїздок і звітність. | |||
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
'''Коротко.''' Потрібно реалізувати модуль для трансферів і таксі: клієнти, замовлення, водії, автомобілі, типи поїздок, маршрути, тарифи, бронювання на дату й час, призначення водія, статуси поїздки, оплата, квитанції, сповіщення, рейтинги та звіти. | |||
</div> | |||
__TOC__ | |||
== Назва завдання == | |||
'''Модуль обліку замовлень трансферів і таксі: бронювання, водії, автопарк, платежі'''. | |||
== Мета завдання == | |||
Мета завдання — створити в K2 ERP модуль для автоматизації роботи компанії, яка надає послуги таксі, трансферів, оренди автомобілів з водієм або корпоративних перевезень. | |||
Система повинна дозволяти: | |||
* вести клієнтів; | |||
* вести автомобілі; | |||
* вести водіїв; | |||
* вести типи поїздок; | |||
* створювати замовлення вручну або через сайт; | |||
* приймати попередні бронювання на дату і час; | |||
* вказувати пункт відправлення і пункт призначення; | |||
* розраховувати вартість поїздки; | |||
* призначати водія і автомобіль; | |||
* контролювати доступність водіїв і авто; | |||
* змінювати статуси замовлення; | |||
* фіксувати оплату; | |||
* підтримувати готівкову, карткову і безготівкову оплату; | |||
* надсилати клієнту сповіщення; | |||
* давати клієнту можливість оцінити поїздку; | |||
* формувати квитанції; | |||
* формувати звіти по замовленнях, доходах, водіях і автомобілях. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Замовлення поїздки має пройти зрозумілий шлях: заявка → призначення водія → подача авто → виконання → оплата → завершення → оцінка. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
* | Компанія організовує пасажирські перевезення для приватних і корпоративних клієнтів. | ||
* замовлення таксі по | |||
* | Це можуть бути: | ||
* таксі по місту; | |||
* трансфер з аеропорту до готелю; | |||
* трансфер з вокзалу; | |||
* міжміські поїздки; | |||
* VIP-трансфери; | |||
* корпоративні перевезення; | |||
* оренда автомобіля з водієм по годинах; | |||
* групові перевезення мінівенами або автобусами; | |||
* регулярне обслуговування бізнес-клієнтів. | |||
У роботі такої компанії важливо швидко приймати замовлення, правильно призначати вільного водія й автомобіль, контролювати статус поїздки, бачити оплату, уникати накладок у графіку та аналізувати ефективність роботи водіїв і автопарку. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи сервісу трансферів і таксі виглядає так: | |||
# клієнт створює заявку через сайт, телефон або менеджера; | |||
# менеджер або система створює замовлення; | |||
# вказується тип поїздки; | |||
# вказуються дата, час, адреса подачі й адреса призначення; | |||
# система розраховує вартість; | |||
# система або диспетчер підбирає доступного водія й автомобіль; | |||
# клієнт отримує підтвердження; | |||
# водій приймає замовлення; | |||
# автомобіль подається клієнту; | |||
# поїздка переходить у статус '''«Виконується»'''; | |||
# після прибуття поїздка завершується; | |||
# фіксується оплата; | |||
# клієнту надсилається квитанція; | |||
# клієнт може оцінити поїздку; | |||
# дані потрапляють у звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Клієнти | |||
| Замовники поїздок | |||
|- | |||
| Автомобілі | |||
| Транспортні засоби компанії | |||
|- | |||
| Водії | |||
| Виконавці поїздок | |||
|- | |||
| Типи поїздок | |||
| Таксі, трансфер, оренда з водієм, корпоративна поїздка | |||
|- | |||
| Замовлення | |||
| Основний документ поїздки | |||
|- | |||
| Маршрути | |||
| Пункти відправлення і призначення | |||
|- | |||
| Тарифи | |||
| Правила розрахунку вартості | |||
|- | |||
| Оплати | |||
| Готівка, картка, безготівковий розрахунок | |||
|- | |||
| Сповіщення | |||
| Повідомлення клієнту і водію | |||
|- | |||
| Рейтинги | |||
| Оцінка якості поїздки і водія | |||
|- | |||
| Квитанції | |||
| Документ підтвердження оплати | |||
|- | |||
| Звіти | |||
| Аналітика по замовленнях, доходах, водіях і авто | |||
|} | |||
== Довідник «Клієнти» == | |||
Клієнти — це фізичні або юридичні особи, які замовляють поїздки. | |||
== Поля клієнта == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ або назва компанії | |||
| Ім’я клієнта або назва організації | |||
|- | |||
| Тип клієнта | |||
| Приватний або корпоративний | |||
|- | |||
| Телефон | |||
| Основний контактний номер | |||
|- | |||
| Email | |||
| Для квитанцій і сповіщень | |||
|- | |||
| Коментар | |||
| Особливі побажання або внутрішні примітки | |||
|- | |||
| Статус | |||
| Активний, заблокований, архівний | |||
|} | |||
== Довідник «Автомобілі» == | |||
Довідник автомобілів містить транспорт, який може бути призначений на поїздки. | |||
== Типи автомобілів == | |||
* седан; | |||
* універсал; | |||
* мінівен; | |||
* мікроавтобус; | |||
* автобус; | |||
* бізнес-клас; | |||
* VIP-клас. | |||
== Поля автомобіля == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер авто | |||
| Державний номер автомобіля | |||
|- | |||
| Марка і модель | |||
| Наприклад: Toyota Camry, Mercedes Vito | |||
|- | |||
| Тип транспорту | |||
| Седан, мінівен, автобус тощо | |||
|- | |||
| Кількість місць | |||
| Скільки пасажирів може перевозити авто | |||
|- | |||
| Рік випуску | |||
| Опціонально | |||
|- | |||
| Колір | |||
| Для інформування клієнта | |||
|- | |||
| Статус авто | |||
| Активний, у сервісі, недоступний, у поїздці | |||
|- | |||
| Водій за замовчуванням | |||
| Якщо авто закріплене за конкретним водієм | |||
|} | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
'''Важливо.''' Автомобіль зі статусом '''«У сервісі»''', '''«Недоступний»''' або '''«У поїздці»''' не повинен автоматично призначатися на нове замовлення. | |||
</div> | |||
== Довідник «Водії» == | |||
Довідник водіїв містить працівників або партнерів, які виконують поїздки. | |||
== Поля водія == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я водія | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Фото | |||
| Опціонально, для відображення клієнту | |||
|- | |||
| Категорії посвідчення | |||
| B, D або інші категорії | |||
|- | |||
| Основний автомобіль | |||
| Авто, з яким найчастіше працює водій | |||
|- | |||
| Рейтинг | |||
| Середня оцінка поїздок | |||
|- | |||
| Статус | |||
| Активний, зайнятий, не на зміні, заблокований | |||
|- | |||
| Примітки | |||
| Службова інформація | |||
|} | |||
== Довідник «Типи поїздок» == | |||
Тип поїздки визначає сценарій обслуговування та принцип розрахунку. | |||
== Приклади типів поїздок == | |||
* таксі містом; | |||
* трансфер аеропорт — готель; | |||
* трансфер готель — аеропорт; | |||
* міжміський трансфер; | |||
* оренда авто з водієм по годинах; | |||
* корпоративна поїздка; | |||
* груповий трансфер; | |||
* VIP-трансфер. | |||
== Поля типу поїздки == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва типу | |||
| Наприклад: трансфер аеропорт — готель | |||
|- | |||
| Опис | |||
| Коротке пояснення | |||
|- | |||
| Спосіб розрахунку | |||
| Фіксована ціна, за кілометражем, погодинно | |||
|- | |||
| Мінімальна ціна | |||
| Мінімальна вартість поїздки | |||
|- | |||
| Активність | |||
| Чи доступний тип поїздки для нових замовлень | |||
|} | |||
== Тарифи == | |||
Тарифи визначають, як розраховується вартість поїздки. | |||
== Варіанти тарифікації == | |||
* фіксована ціна; | |||
* ціна за кілометр; | |||
* ціна за годину; | |||
* мінімальна вартість поїздки; | |||
* доплата за очікування; | |||
* доплата за нічний час; | |||
* доплата за клас авто; | |||
* індивідуальний корпоративний тариф. | |||
== Поля тарифу == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва тарифу | |||
| Наприклад: Місто, Аеропорт, VIP, Корпоративний | |||
|- | |||
| Тип поїздки | |||
| До якого типу застосовується тариф | |||
|- | |||
| Базова ціна | |||
| Стартова вартість | |||
|- | |||
| Ціна за км | |||
| Для розрахунку за відстанню | |||
|- | |||
| Ціна за годину | |||
| Для погодинної оренди | |||
|- | |||
| Мінімальна ціна | |||
| Нижня межа вартості | |||
|- | |||
| Доплата за очікування | |||
| Опціонально | |||
|- | |||
| Активність | |||
| Чи діє тариф | |||
|} | |||
== База «Замовлення» == | |||
Замовлення — головний документ модуля. | |||
== Колонки бази замовлень == | |||
{| class="wikitable" style="width:100%;" | |||
! Колонка | |||
! Опис | |||
|- | |||
| Номер замовлення | |||
| Унікальний номер поїздки | |||
|- | |||
| Дата і час замовлення | |||
| Коли створено заявку | |||
|- | |||
| Дата і час подачі | |||
| Коли потрібно подати авто | |||
|- | |||
| Клієнт | |||
| Замовник поїздки | |||
|- | |||
| Тип поїздки | |||
| Таксі, трансфер, оренда з водієм | |||
|- | |||
| Пункт відправлення | |||
| Звідки забрати клієнта | |||
|- | |||
| Пункт призначення | |||
| Куди доставити клієнта | |||
|- | |||
| Автомобіль | |||
| Призначене авто | |||
|- | |||
| Водій | |||
| Призначений водій | |||
|- | |||
| Статус | |||
| Нове, призначено, виконується, виконано, скасовано | |||
|- | |||
| Ціна поїздки | |||
| Розрахована або встановлена вручну | |||
|- | |||
| Тип оплати | |||
| Готівка, картка, безготівково | |||
|} | |||
== Поля замовлення == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Номер замовлення | |||
| Генерується автоматично | |||
|- | |||
| Клієнт | |||
| Хто замовляє поїздку | |||
|- | |||
| Контактний телефон | |||
| Телефон пасажира | |||
|- | |||
| Тип поїздки | |||
| Таксі, трансфер, оренда з водієм | |||
|- | |||
| Дата і час подачі | |||
| Коли потрібен автомобіль | |||
|- | |||
| Пункт відправлення | |||
| Адреса або точка старту | |||
|- | |||
| Пункт призначення | |||
| Адреса або точка завершення | |||
|- | |||
| Кількість пасажирів | |||
| Для підбору авто | |||
|- | |||
| Багаж | |||
| Опціонально | |||
|- | |||
| Коментар клієнта | |||
| Побажання до поїздки | |||
|- | |||
| Водій | |||
| Призначений виконавець | |||
|- | |||
| Автомобіль | |||
| Призначене авто | |||
|- | |||
| Ціна | |||
| Вартість поїздки | |||
|- | |||
| Тип оплати | |||
| Готівка, картка, безготівковий розрахунок | |||
|- | |||
| Статус | |||
| Поточний стан замовлення | |||
|} | |||
== Статуси замовлення == | |||
{| class="wikitable" style="width:100%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Нове | |||
| Заявка створена, водій ще не призначений | |||
|- | |||
| Очікує підтвердження | |||
| Замовлення потребує підтвердження менеджера або клієнта | |||
|- | |||
| Призначено | |||
| Водій і автомобіль призначені | |||
|- | |||
| Водій прийняв | |||
| Водій підтвердив виконання замовлення | |||
|- | |||
| Авто подано | |||
| Автомобіль прибув до клієнта | |||
|- | |||
| Виконується | |||
| Поїздка триває | |||
|- | |||
| Виконано | |||
| Поїздку завершено | |||
|- | |||
| Оплачено | |||
| Оплату підтверджено | |||
|- | |||
| Скасовано | |||
| Замовлення не відбулося | |||
|} | |||
== Створення бронювання == | |||
Бронювання може створювати менеджер або сам клієнт через сайт. | |||
== Кроки бронювання == | |||
# Клієнт або менеджер обирає тип поїздки. | |||
# Вказує дату і час подачі авто. | |||
# Вказує пункт відправлення. | |||
# Вказує пункт призначення. | |||
# Вказує кількість пасажирів. | |||
# Обирає клас або тип автомобіля. | |||
# Система розраховує орієнтовну ціну. | |||
# Клієнт підтверджує заявку. | |||
# Система створює замовлення. | |||
# Менеджер або система призначає водія й автомобіль. | |||
== Призначення водія і автомобіля == | |||
Призначення може бути ручним або автоматичним. | |||
== Ручне призначення == | |||
Диспетчер сам обирає водія й автомобіль зі списку доступних. | |||
== | == Автоматичне призначення == | ||
Система може підбирати водія й авто за параметрами: | |||
* | * статус водія; | ||
* | * статус автомобіля; | ||
* кількість місць; | * кількість місць; | ||
* | * тип авто; | ||
** | * зайнятість на вказаний час; | ||
** | * рейтинг водія; | ||
* прив’язка водія до автомобіля; | |||
* відстань до точки подачі, якщо реалізовано мапу. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Один водій або автомобіль не повинні бути призначені на дві поїздки, які перетинаються за часом, без попередження диспетчера. | |||
</div> | |||
== Розрахунок вартості поїздки == | |||
Система має підтримувати кілька способів розрахунку. | |||
== Фіксована ціна == | |||
Фіксована ціна застосовується для типових трансферів. | |||
Приклад: | |||
<pre> | |||
Аеропорт → Готель = 900 грн | |||
</pre> | |||
== Розрахунок за кілометражем == | |||
<pre> | |||
Ціна = Базова ціна + Відстань × Ціна за км | |||
</pre> | |||
== Погодинна оренда == | |||
<pre> | |||
Ціна = Кількість годин × Ціна за годину | |||
</pre> | |||
== Очікування == | |||
Опціонально можна враховувати платне очікування. | |||
<pre> | |||
Доплата за очікування = Кількість хвилин понад норму × Тариф очікування | |||
</pre> | |||
== Оплати == | |||
Модуль має підтримувати різні типи оплати. | |||
== Типи оплати == | |||
* готівка водію; | |||
* банківська картка; | |||
* онлайн-оплата; | |||
* безготівковий розрахунок для корпоративного клієнта; | |||
* передплата; | |||
* післяплата. | |||
== Статуси оплати == | |||
==== | {| class="wikitable" style="width:100%;" | ||
! Статус | |||
! Значення | |||
|- | |||
| Не оплачено | |||
| Оплата ще не отримана | |||
|- | |||
| Очікує оплати | |||
| Клієнту виставлено рахунок або посилання на оплату | |||
|- | |||
| Частково оплачено | |||
| Оплачена частина суми | |||
|- | |||
| Оплачено | |||
| Оплата отримана повністю | |||
|- | |||
| Повернення | |||
| Кошти повернено клієнту | |||
|} | |||
== Рахунок і квитанція == | |||
Для поїздки система може формувати рахунок або квитанцію. | |||
== | == Дані квитанції == | ||
Квитанція має містити: | |||
* номер замовлення; | * номер замовлення; | ||
* | * дату і час поїздки; | ||
* | * клієнта; | ||
* маршрут; | |||
* | * водія; | ||
* | |||
* автомобіль; | * автомобіль; | ||
* | * суму; | ||
* статус | * тип оплати; | ||
** | * статус оплати. | ||
* | |||
** | == Сповіщення клієнтів == | ||
** | |||
* | Система має надсилати клієнту повідомлення про ключові події. | ||
* | |||
== Події для сповіщень == | |||
** | |||
** | * замовлення створено; | ||
** | * замовлення підтверджено; | ||
* водія призначено; | |||
* авто подано; | |||
* поїздку розпочато; | |||
* поїздку завершено; | |||
* оплату підтверджено; | |||
* замовлення скасовано; | |||
* запит на оцінку поїздки. | |||
== Дані в повідомленні про призначення водія == | |||
Клієнту бажано показати: | |||
* ім’я водія; | |||
* телефон водія; | |||
* марку і модель авто; | |||
* номер авто; | |||
* час подачі; | |||
* орієнтовну вартість. | |||
== Рейтинг і відгуки == | |||
Після завершення поїздки клієнт може оцінити сервіс. | |||
== Поля оцінки == | |||
=== | {| class="wikitable" style="width:100%;" | ||
! Поле | |||
! Опис | |||
|- | |||
| Замовлення | |||
| До якої поїздки належить оцінка | |||
|- | |||
| Клієнт | |||
| Хто залишив оцінку | |||
|- | |||
| Водій | |||
| Кого оцінюють | |||
|- | |||
| Оцінка | |||
| Наприклад, від 1 до 5 | |||
|- | |||
| Коментар | |||
| Текстовий відгук | |||
|- | |||
| Дата | |||
| Коли залишено оцінку | |||
|} | |||
== Мапа і маршрути == | |||
Опціонально можна інтегрувати мапу. | |||
== Можливості мапи == | |||
* відображення пункту відправлення; | |||
* відображення пункту призначення; | |||
* побудова маршруту; | |||
* розрахунок відстані; | |||
* розрахунок приблизного часу; | |||
* відображення автомобілів, якщо реалізовано GPS-інтеграцію. | |||
== Звіти == | |||
== | == Звіт «Замовлення по періодах» == | ||
Звіт показує кількість і суму замовлень за вибраний період. | |||
У звіті потрібно відображати: | |||
* дату; | |||
* кількість замовлень; | * кількість замовлень; | ||
* | * кількість виконаних; | ||
* кількість скасованих | * кількість скасованих; | ||
* суму доходу; | |||
* середній чек. | |||
== Звіт «Ефективність водіїв» == | |||
* | Звіт показує роботу водіїв. | ||
У звіті потрібно відображати: | |||
* водія; | |||
* кількість виконаних замовлень; | * кількість виконаних замовлень; | ||
* пробіг | * кількість скасованих; | ||
* середню оцінку; | |||
* суму доходу; | |||
* пробіг, якщо фіксується; | |||
* кількість скарг, якщо реалізовано. | |||
== Звіт «Доходи по автомобілях» == | |||
Звіт показує, скільки заробив кожен автомобіль. | |||
У звіті потрібно відображати: | |||
* автомобіль; | |||
* кількість поїздок; | |||
* суму доходу; | |||
* середній дохід на поїздку; | |||
* кількість годин у роботі; | |||
* статус автомобіля. | |||
== Звіт «Скасовані замовлення» == | |||
Звіт показує причини втрати замовлень. | |||
У звіті потрібно відображати: | |||
* номер замовлення; | |||
* клієнта; | |||
* дату; | |||
* водія, якщо був призначений; | |||
* причину скасування; | |||
* хто скасував; | |||
* час до подачі авто. | |||
== Звіт «Оплати» == | |||
Звіт показує фінансовий стан поїздок. | |||
У звіті потрібно відображати: | |||
* номер замовлення; | |||
* клієнта; | |||
* суму; | |||
* тип оплати; | |||
* статус оплати; | |||
* дату оплати; | |||
* борг, якщо є. | |||
== AJAX-інтерактив == | |||
Інтерфейс має працювати швидко та зручно для диспетчера, водія і клієнта. | |||
Через AJAX мають працювати: | |||
* створення бронювання; | |||
* пошук клієнта; | |||
* вибір адрес; | |||
* розрахунок ціни; | |||
* вибір водія; | |||
* вибір автомобіля; | |||
* зміна статусу замовлення; | |||
* підтвердження поїздки; | |||
* фіксація оплати; | |||
* відправка сповіщення; | |||
* оцінювання поїздки; | |||
* фільтрація замовлень; | |||
* оновлення звітів. | |||
== Логування змін == | |||
Модуль повинен фіксувати важливі дії. | |||
Журнал змін має зберігати: | |||
* хто створив замовлення; | |||
* хто змінив дату або час подачі; | |||
* хто змінив маршрут; | |||
* хто призначив водія; | |||
* хто призначив автомобіль; | |||
* хто змінив статус поїздки; | |||
* хто змінив ціну; | |||
* хто зафіксував оплату; | |||
* хто скасував замовлення; | |||
* хто змінив статус водія або авто; | |||
* дату й час дії; | |||
* старе та нове значення, якщо це можливо. | |||
== | == Права доступу == | ||
Модуль має підтримувати розмежування прав. | |||
{| class="wikitable" style="width:100%;" | |||
! Роль | |||
! Можливості | |||
|- | |||
| Клієнт | |||
| Створює бронювання, переглядає свої поїздки, оплати й оцінки | |||
|- | |||
| Диспетчер | |||
| Приймає замовлення, призначає водіїв і авто, контролює статуси | |||
|- | |||
| Водій | |||
| Бачить свої замовлення, приймає поїздки, змінює статус виконання | |||
|- | |||
| Менеджер | |||
| Працює з клієнтами, тарифами, корпоративними замовленнями | |||
|- | |||
| Бухгалтер | |||
| Контролює оплати, рахунки, квитанції та борги | |||
|- | |||
| Керівник | |||
| Переглядає звіти, доходи, ефективність водіїв і автопарку | |||
|- | |||
| Адміністратор | |||
| Налаштовує права, тарифи, типи поїздок, авто, водіїв і службові параметри | |||
|} | |||
== Технічні вимоги == | == Технічні вимоги == | ||
{| class="wikitable" | |||
!Параметр | {| class="wikitable" style="width:100%;" | ||
!Опис | ! Параметр | ||
! Опис | |||
|- | |||
| Бекенд | |||
| K2 Cloud ERP на Python або PHP | |||
|- | |||
| База даних | |||
| PostgreSQL або MySQL | |||
|- | |||
| Фронтенд | |||
| HTML5, JavaScript | |||
|- | |||
| AJAX | |||
| Fetch API або Axios | |||
|- | |||
| UI-компоненти | |||
| DataTables для замовлень, Select2 для водіїв, авто і типів поїздок | |||
|- | |- | ||
| | | Мапа | ||
| | | OpenStreetMap або Google Maps API, опціонально | ||
|- | |- | ||
| | | Сповіщення | ||
| | | Email, SMS або месенджери, залежно від реалізації | ||
|- | |- | ||
| | | Оплати | ||
| | | Онлайн-оплата, готівка, картка, безготівково | ||
|- | |- | ||
| | | Друк | ||
| | | PDF-квитанції або рахунки, опціонально | ||
|- | |- | ||
| | | Адаптивність | ||
| | | Мобільна версія для бронювання і роботи водія | ||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* клієнти; | |||
* автомобілі; | |||
* типи автомобілів; | |||
* водії; | |||
* типи поїздок; | |||
* тарифи; | |||
* замовлення; | |||
* статуси замовлень; | |||
* маршрути; | |||
* адреси; | |||
* оплати; | |||
* квитанції; | |||
* сповіщення; | |||
* рейтинги; | |||
* відгуки; | |||
* скасування; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити клієнта; | |||
# створити кілька автомобілів; | |||
# створити кілька водіїв; | |||
# створити типи поїздок; | |||
# створити тариф; | |||
# створити нове замовлення; | |||
# вказати дату, час, пункт відправлення і пункт призначення; | |||
# розрахувати вартість поїздки; | |||
# призначити водія й автомобіль; | |||
# перевести замовлення у статус '''«Призначено»'''; | |||
# перевести замовлення у статус '''«Авто подано»'''; | |||
# перевести замовлення у статус '''«Виконується»'''; | |||
# завершити поїздку; | |||
# зафіксувати оплату; | |||
# сформувати квитанцію; | |||
# залишити оцінку поїздки; | |||
# перевірити рейтинг водія; | |||
# створити скасоване замовлення з причиною; | |||
# сформувати звіт замовлень за період; | |||
# сформувати звіт ефективності водіїв; | |||
# сформувати звіт доходів по автомобілях; | |||
# сформувати звіт оплат; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |||
| Реалізація бази автомобілів, водіїв і замовлень | |||
| 20 | |||
| Клієнти, авто, водії, типи поїздок, тарифи, замовлення | |||
|- | |- | ||
| | | Створення бронювання і призначення водіїв | ||
|20 | | 20 | ||
| Бронювання на дату й час, вибір маршруту, підбір або ручне призначення водія й авто | |||
|- | |- | ||
| | | Управління статусами поїздок і оплатою | ||
|20 | | 20 | ||
| Статуси замовлення, фіксація виконання, оплата, квитанція, скасування | |||
|- | |- | ||
| | | Формування звітів по доходах і водіях | ||
|20 | | 20 | ||
| Замовлення за період, ефективність водіїв, доходи по авто, оплати, скасування | |||
|- | |- | ||
| | | Інтерактивність через AJAX і сповіщення клієнтів | ||
|20 | | 20 | ||
| AJAX-бронювання, зміна статусів, розрахунок ціни, сповіщення, оцінювання | |||
|- | |- | ||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |} | ||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: клієнти, авто, водії, бронювання, призначення, статуси, оплати, сповіщення, рейтинги й звіти реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес обліку поїздок | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: замовлення, водії, автомобілі, статуси, оплата або звіти | |||
|} | |||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити клієнта; | |||
* неможливо створити автомобіль; | |||
* неможливо створити водія; | |||
* неможливо створити замовлення; | |||
* замовлення не має дати й часу подачі; | |||
* замовлення не має пункту відправлення; | |||
* неможливо призначити водія; | |||
* неможливо призначити автомобіль; | |||
* один водій призначається на дві одночасні поїздки без попередження; | |||
* один автомобіль призначається на дві одночасні поїздки без попередження; | |||
* статус поїздки не змінюється; | |||
* виконана поїздка не фіксується; | |||
* оплата не прив’язується до замовлення; | |||
* скасоване замовлення показується як активне; | |||
* рейтинг водія не оновлюється, якщо ця функція заявлена; | |||
* звіти не відповідають фактичним замовленням і оплатам; | |||
* зміни водія, авто, статусу або ціни не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл трансферу або таксі: клієнт → замовлення → водій → авто → поїздка → оплата → квитанція → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль трансферів і таксі в K2 ERP. | |||
Модуль має підтримувати клієнтів, автомобілі, водіїв, типи поїздок, тарифи, замовлення, маршрути, бронювання, ручне або автоматичне призначення водія, статуси поїздок, розрахунок вартості, оплати, квитанції, сповіщення, рейтинги, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
Модуль трансферів і таксі потрібен таксомоторним службам, компаніям VIP-трансферів, корпоративним автопаркам, туристичним компаніям, готелям, аеропортам і сервісам персональних перевезень. | |||
Автоматизація бронювань дозволяє зменшити навантаження на диспетчерів, швидше призначати водіїв, краще контролювати виконання поїздок, бачити доходи та підвищувати якість обслуговування клієнтів. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку замовлень трансферів і таксі | |||
|- | |||
| Які довідники потрібні? | |||
| Клієнти, автомобілі, водії, типи поїздок, тарифи | |||
|- | |||
| Який головний документ? | |||
| Замовлення поїздки | |||
|- | |||
| Що має містити замовлення? | |||
| Клієнта, дату, час, маршрут, водія, автомобіль, ціну, оплату і статус | |||
|- | |||
| Які статуси потрібні? | |||
| Нове, призначено, авто подано, виконується, виконано, оплачено, скасовано | |||
|- | |||
| Які оплати потрібні? | |||
| Готівка, картка, онлайн-оплата, безготівковий розрахунок | |||
|- | |||
| Які звіти потрібні? | |||
| Замовлення за період, ефективність водіїв, доходи по автомобілях, оплати, скасування | |||
|- | |||
| Що є критичною вимогою? | |||
| Повний цикл: бронювання → призначення → поїздка → оплата → звіт | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[Автоперевізник]] | |||
* [[TMS]] | |||
* [[CRM]] | |||
* [[Таксі]] | |||
* [[Трансфер]] | |||
* [[Бронювання]] | |||
* [[Водії]] | |||
* [[Автопарк]] | |||
* [[Рахунок на оплату]] | |||
* [[Звітність]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Трансфери]] | |||
[[Категорія:Таксі]] | |||
[[Категорія:TMS]] | |||
[[Категорія:Автопарк]] | |||
[[Категорія:Корпоративна Wiki]] | |||