Перейти до вмісту

Атестаційні завдання K2 ERP/Поштова служба: відмінності між версіями

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Первинна публікація
 
Немає опису редагування
 
Рядок 1: Рядок 1:
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Поштова служба}}


= Модуль обліку клієнтів, послуг, замовлень, рахунків і статусів для мультисервісної компанії: Поштова доставка + Хостинг =
'''Атестаційне завдання K2 ERP — Поштова служба + Хостинг''' — це практична задача для перевірки навичок розробника або впроваджувача [[K2 ERP]] у створенні мультисервісного модуля для компанії, яка одночасно надає послуги поштової доставки та хостингові послуги.
 
Модуль має забезпечувати спільну базу клієнтів, єдину фінансову систему, окремі журнали для відправлень і хостингових послуг, контроль статусів, оплат, продовжень, сповіщень, особистий кабінет клієнта, адмін-панель і звіти по кожному напрямку бізнесу.
 
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
'''Коротко.''' Потрібно реалізувати мультисервісну ERP-систему: клієнти, поштові відправлення, кур’єри, відділення, тарифи доставки, хостингові тарифи, сервери, домени, хостинг-послуги, рахунки, оплати, статуси, продовження, сповіщення, кабінет клієнта, адмін-панель і звіти.
</div>
 
__TOC__
 
== Назва завдання ==
 
'''Модуль обліку клієнтів, послуг, замовлень, рахунків і статусів для мультисервісної компанії: Поштова доставка + Хостинг'''.
 
== Мета завдання ==
 
Мета завдання — створити в K2 ERP модуль для компанії, яка має два різні напрями діяльності:
 
* поштова доставка;
* хостингові та доменні послуги.
 
Система повинна дозволяти:
 
* вести єдину базу клієнтів;
* вести поштові відправлення;
* вести пункти обслуговування;
* вести кур’єрів;
* вести маршрути доставки;
* контролювати статуси відправлень;
* формувати транспортні накладні;
* вести хостингові тарифні плани;
* вести сервери;
* вести домени;
* вести хостингові послуги клієнтів;
* контролювати дати завершення хостинг-послуг;
* формувати рахунки на доставку;
* формувати рахунки на хостинг;
* приймати оплати;
* бачити борги клієнтів;
* надсилати сповіщення;
* вести особистий кабінет клієнта;
* формувати окремі звіти по доставці;
* формувати окремі звіти по хостингу;
* формувати загальний фінансовий звіт.
 
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
'''Головний принцип.''' Клієнт має бути один у системі, навіть якщо він одночасно користується доставкою, хостингом, доменами та іншими послугами. Фінанси, рахунки й оплати мають обліковуватися централізовано.
</div>


== Загальний бізнес-контекст ==
== Загальний бізнес-контекст ==
Компанія:


* надає послуги поштової доставки:
Компанія працює як мультисервісний оператор і надає два типи послуг.
** посилки;
** документи;
** міжнародні вантажі;
* надає послуги хостингу:
** сайти;
** VPS;
** домени;
* має мережу клієнтів:
** фізичні особи;
** юридичні особи;
* підтримує облік активних сервісів, доставок, строків і оплат;
* веде автоматичну генерацію рахунків і нагадування.


Необхідно:
Поштовий напрям:


* об'єднати облік обох типів послуг;
* доставка посилок;
* вести окремі журнали для:
* доставка документів;
** відправлень;
* міжнародні відправлення;
** хостингових послуг;
* кур’єрська доставка;
* організувати спільну базу клієнтів і фінансів.
* доставка між відділеннями;
* адресна доставка.


== Основні завдання для поштової частини ==
Хостинговий напрям:


=== 1. Структура для поштової служби ===
* shared hosting;
* VPS;
* VDS;
* dedicated server;
* домени;
* DNS;
* SSL-сертифікати;
* резервне копіювання;
* технічна підтримка.


==== Довідник «Пункти обслуговування» ====
Компанії потрібно:
Поля довідника:


* назва відділення;
* вести єдину базу клієнтів;
* адреса;
* бачити всі послуги клієнта в одному кабінеті;
* телефон.
* вести окремі операційні процеси для доставки і хостингу;
* мати спільний фінансовий модуль;
* контролювати статуси замовлень і послуг;
* автоматично формувати рахунки;
* надсилати повідомлення клієнтам;
* аналізувати доходи по кожному напрямку.


==== Довідник «Кур'єри» ====
== Основний бізнес-процес ==
Поля довідника:


* ПІБ;
Типовий процес для поштової доставки:
* телефон;
* статус:
** активний;
** відпустка.


=== 2. База «Відправлення» ===
# клієнт створюється або обирається із бази;
# оформлюється відправлення;
# вказується відправник, одержувач, адреса, вага і тип доставки;
# система розраховує вартість;
# створюється рахунок або оплата на місці;
# відправлення отримує статус '''«Прийнято»''';
# далі статуси змінюються: '''«Відправлено»''', '''«У транзиті»''', '''«На доставці»''', '''«Доставлено»''';
# клієнт отримує сповіщення;
# система формує звіти по доставках.


==== Колонки бази ====
Типовий процес для хостингу:


* номер відправлення;
# клієнт створюється або обирається із бази;
* відправник;
# обирається тариф хостингу;
* одержувач;
# створюється хостингова послуга;
* адреса доставки;
# послуга прив’язується до сервера або домену;
* тип відправлення:
# система формує рахунок;
** посилка;
# клієнт оплачує;
** документи;
# послуга переходить у статус '''«Активна»''';
* вага;
# перед завершенням періоду система надсилає нагадування;
* вартість доставки;
# після оплати послуга продовжується;
* статус:
# система формує звіти по хостингових послугах.
** прийнято;
** відправлено;
** у транзиті;
** доставлено;
* кур'єр;
* термін доставки.


== Основні завдання для хостингової частини ==
== Основні об’єкти модуля ==


=== 3. Структура для хостингу ===
{| class="wikitable" style="width:100%;"
! Об’єкт
! Призначення
|-
| Клієнти
| Єдина база фізичних і юридичних осіб
|-
| Пункти обслуговування
| Відділення поштової служби
|-
| Кур’єри
| Співробітники, які доставляють відправлення
|-
| Відправлення
| Посилки, документи, вантажі
|-
| Маршрути
| Напрями доставки
|-
| Тарифи доставки
| Правила розрахунку вартості доставки
|-
| Хостингові тарифи
| Пакети послуг хостингу
|-
| Сервери
| Інфраструктура для хостингових послуг
|-
| Домени
| Доменні імена клієнтів
|-
| Хостингові послуги
| Активні або завершені послуги клієнтів
|-
| Рахунки
| Документи на оплату доставки або хостингу
|-
| Оплати
| Фактичні платежі клієнтів
|-
| Сповіщення
| Повідомлення про статуси, рахунки, продовження
|-
| Кабінет клієнта
| Перегляд доставок, хостингу, рахунків і оплат
|-
| Звіти
| Аналітика по доставці, хостингу і фінансах
|}


==== Довідник «Тарифні плани» ====
== Спільна база «Клієнти» ==
Поля довідника:


* назва тарифу;
Клієнт може користуватися однією або кількома послугами.
* тип:
** хостинг;
** VPS;
** оренда сервера;
** домен;
* вартість на місяць / рік.


==== Довідник «Сервери» ====
== Типи клієнтів ==
Поля довідника:


* назва;
* фізична особа;
* тип сервера;
* ФОП;
* IP-адреси.
* юридична особа;
* корпоративний клієнт;
* партнер;
* внутрішній клієнт.


=== 4. База «Хостингові послуги» ===
== Поля клієнта ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| ПІБ або назва компанії
| Назва клієнта
|-
| Тип клієнта
| Фізична особа, ФОП, юридична особа
|-
| Email
| Основний контакт і логін
|-
| Телефон
| Контактний номер
|-
| Контактна особа
| Для юридичних осіб
|-
| Адреса
| Адреса клієнта
|-
| Дата реєстрації
| Коли клієнт створений
|-
| Статус
| Активний, заблокований, архівний
|-
| Коментар
| Внутрішня примітка
|}


==== Колонки бази ====
== Послуги клієнта ==


* клієнт;
У картці клієнта потрібно бачити:
* тип послуги:
** хостинг;
** VPS;
** домен;
* тариф;
* сервер — якщо потрібно;
* дата початку;
* дата завершення;
* статус:
** активна;
** припинена;
** очікує оплату.


== Спільна база ==
* активні поштові відправлення;
* історію доставок;
* активні хостингові послуги;
* домени;
* рахунки;
* оплати;
* борги;
* сповіщення;
* тікети або звернення, якщо реалізовано.


=== 5. Клієнти ===
== Поштова частина ==
Поля клієнта:


* ПІБ або назва компанії;
== Довідник «Пункти обслуговування» ==
* email;
* телефон;
* тип:
** фізична особа;
** юридична особа;
* можливість мати одночасно кілька послуг:
** доставка;
** хостинг.


=== 6. Оплата і рахунки ===
Пункти обслуговування — це відділення, де приймаються і видаються відправлення.
Функціонал:


* генерація рахунків на доставку та хостингові послуги;
== Поля пункту обслуговування ==
* статуси платежів:
 
** оплачено;
{| class="wikitable" style="width:100%;"
** очікує оплату;
! Поле
** прострочено;
! Опис
* оплата через:
|-
** готівку;
| Назва відділення
** банківські карти;
| Наприклад: Відділення №1
** електронні системи;
|-
* автоматичне створення рахунків:
| Адреса
** при продовженні послуг;
| Фактична адреса
** при новому замовленні.
|-
| Телефон
| Контактний номер
|-
| Місто
| Населений пункт
|-
| Графік роботи
| Дні та години роботи
|-
| Відповідальний
| Керівник або оператор відділення
|-
| Статус
| Активне, тимчасово закрите, архівне
|}
 
== Довідник «Кур’єри» ==
 
Кур’єри виконують доставку відправлень.
 
== Поля кур’єра ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| ПІБ
| Повне ім’я кур’єра
|-
| Телефон
| Контактний номер
|-
| Email
| Опціонально
|-
| Місто / зона доставки
| Територія роботи
|-
| Тип транспорту
| Пішки, авто, мото, велосипед
|-
| Статус
| Активний, відпустка, лікарняний, звільнений
|}
 
== Довідник «Тарифи доставки» ==
 
Тарифи потрібні для розрахунку вартості доставки.
 
== Варіанти тарифікації ==
 
* за вагою;
* за габаритами;
* за містом;
* за зоною доставки;
* за країною;
* за терміновістю;
* фіксована ціна;
* індивідуальна ціна для корпоративного клієнта.
 
== Поля тарифу доставки ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва тарифу
| Наприклад: Стандарт, Експрес, Міжнародний
|-
| Тип доставки
| Документи, посилка, вантаж
|-
| Мінімальна вага
| Початок діапазону
|-
| Максимальна вага
| Кінець діапазону
|-
| Базова ціна
| Початкова ціна
|-
| Ціна за кг
| Додаткова ціна за вагу
|-
| Термін доставки
| Орієнтовна кількість днів
|-
| Статус
| Активний або архівний
|}
 
== База «Відправлення» ==
 
Відправлення — головний об’єкт поштової частини.
 
== Колонки бази відправлень ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Номер відправлення
| Унікальний трек-номер
|-
| Відправник
| Клієнт або контакт відправника
|-
| Одержувач
| Хто отримує
|-
| Адреса доставки
| Куди доставити
|-
| Тип відправлення
| Посилка, документи, вантаж
|-
| Вага
| Вага відправлення
|-
| Вартість доставки
| Розрахована сума
|-
| Статус
| Прийнято, у транзиті, доставлено тощо
|-
| Кур’єр
| Хто доставляє
|-
| Термін доставки
| Планова дата доставки
|}
 
== Поля відправлення ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер відправлення
| Унікальний номер або трек-код
|-
| Відправник
| Клієнт або особа, що відправляє
|-
| Телефон відправника
| Контакт відправника
|-
| Одержувач
| ПІБ або назва компанії
|-
| Телефон одержувача
| Контакт одержувача
|-
| Адреса відправлення
| Звідки відправлено
|-
| Адреса доставки
| Куди доставити
|-
| Тип відправлення
| Посилка, документи, вантаж
|-
| Вага
| Вага у кг
|-
| Габарити
| Довжина, ширина, висота, опціонально
|-
| Оголошена вартість
| Опціонально
|-
| Вартість доставки
| Розрахована або ручна
|-
| Кур’єр
| Призначений виконавець
|-
| Пункт прийому
| Де прийнято
|-
| Пункт видачі
| Якщо доставка до відділення
|-
| Планова дата доставки
| Очікувана дата
|-
| Статус
| Поточний стан відправлення
|}
 
== Статуси відправлення ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Створено
| Відправлення створено в системі
|-
| Прийнято
| Посилку прийнято у відділенні або кур’єром
|-
| Відправлено
| Відправлення передано в доставку
|-
| У транзиті
| Відправлення переміщується між пунктами
|-
| Прибуло у відділення
| Відправлення готове до видачі
|-
| На доставці
| Кур’єр доставляє одержувачу
|-
| Доставлено
| Відправлення отримано
|-
| Не доставлено
| Доставка не відбулася
|-
| Повернення
| Відправлення повертається відправнику
|-
| Скасовано
| Відправлення скасовано
|}
 
== Трекінг відправлення ==
 
Система має зберігати історію статусів відправлення.
 
== Поля трекінгу ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Відправлення
| До якого відправлення запис
|-
| Дата і час
| Коли змінився статус
|-
| Статус
| Новий статус
|-
| Локація
| Відділення, місто або зона
|-
| Користувач
| Хто змінив статус
|-
| Коментар
| Додаткова інформація
|}
 
== Хостингова частина ==
 
== Довідник «Хостингові тарифні плани» ==
 
Тариф описує тип хостингової послуги, характеристики та вартість.
 
== Типи хостингових послуг ==
 
* shared hosting;
* VPS;
* VDS;
* dedicated server;
* domain;
* DNS;
* SSL;
* backup;
* email hosting;
* administration.
 
== Поля тарифного плану ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва тарифу
| Наприклад: Hosting Start, VPS 4GB
|-
| Тип послуги
| Хостинг, VPS, домен, SSL тощо
|-
| Вартість на місяць
| Ціна за місяць
|-
| Вартість на рік
| Ціна за рік
|-
| Дисковий простір
| Наприклад: 10 GB
|-
| RAM
| Для VPS або серверів
|-
| CPU
| Для VPS або серверів
|-
| Трафік
| Ліміт або безліміт
|-
| Статус
| Активний, прихований, архівний
|}
 
== Довідник «Сервери» ==
 
Сервери використовуються для розміщення хостингових послуг.
 
== Поля сервера ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва сервера
| Hostname або внутрішня назва
|-
| Тип сервера
| Shared, VPS-node, Dedicated, DNS, Mail
|-
| IP-адреса
| Основна IP
|-
| Пул IP
| Доступні IP-адреси
|-
| Локація
| Датацентр або місто
|-
| Статус
| Активний, на обслуговуванні, виведений
|}
 
== База «Хостингові послуги» ==
 
Хостингова послуга — це активна або завершена послуга клієнта.
 
== Колонки бази хостингових послуг ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Клієнт
| Власник послуги
|-
| Тип послуги
| Хостинг, VPS, домен, SSL
|-
| Тариф
| Обраний тарифний план
|-
| Сервер
| Де розміщена послуга
|-
| Домен
| Якщо прив’язано
|-
| Дата початку
| Початок дії
|-
| Дата завершення
| Кінець оплаченого періоду
|-
| Статус
| Активна, припинена, очікує оплату, прострочена
|}
 
== Статуси хостингової послуги ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Нова
| Послугу створено
|-
| Очікує оплату
| Рахунок виставлено, оплати немає
|-
| Активна
| Послуга оплачена і працює
|-
| Завершується
| До кінця періоду залишилось мало часу
|-
| Прострочена
| Період завершився, оплати немає
|-
| Призупинена
| Послугу тимчасово зупинено
|-
| Припинена
| Послуга більше не надається
|}
 
== База «Домени» ==
 
Домени можуть бути окремою послугою клієнта або прив’язкою до хостингу.
 
== Поля домену ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Доменне ім’я
| Наприклад: example.com
|-
| Клієнт
| Власник домену
|-
| Реєстратор
| Де зареєстровано
|-
| Дата реєстрації
| Коли зареєстровано
|-
| Дата завершення
| Коли завершується дія
|-
| DNS-сервери
| NS-записи
|-
| Статус
| Активний, завершується, протермінований, видалений
|}
 
== Спільний фінансовий модуль ==
 
Фінансовий модуль має працювати для обох напрямків.
 
== Рахунки можуть створюватися для ==
 
* поштової доставки;
* додаткового страхування відправлення;
* міжнародної доставки;
* хостингової послуги;
* продовження VPS;
* продовження домену;
* SSL-сертифіката;
* адміністрування;
* інших послуг.
 
== Поля рахунку ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер рахунку
| Унікальний номер
|-
| Клієнт
| Кому виставлено рахунок
|-
| Напрям послуги
| Доставка або хостинг
|-
| Об’єкт оплати
| Відправлення, хостингова послуга, домен
|-
| Дата рахунку
| Коли сформовано
|-
| Сума
| Сума до оплати
|-
| Оплачено
| Скільки оплачено
|-
| Борг
| Залишок
|-
| Статус
| Новий, очікує оплату, частково оплачено, оплачено, прострочено, скасовано
|}
 
== Способи оплати ==
 
* готівка;
* банківська картка;
* банківський переказ;
* LiqPay;
* Stripe;
* PayPal;
* внутрішній баланс клієнта;
* ручна оплата оператором.
 
== Поля оплати ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Клієнт
| Хто оплатив
|-
| Рахунок
| До якого рахунку прив’язана оплата
|-
| Дата оплати
| Коли отримано оплату
|-
| Сума
| Розмір платежу
|-
| Спосіб оплати
| Готівка, картка, LiqPay, Stripe, PayPal тощо
|-
| Статус
| Очікує, успішно, помилка, повернення
|-
| Коментар
| Примітка оператора
|}
 
== Особистий кабінет клієнта ==
 
Клієнт повинен бачити всі свої послуги в одному кабінеті.
 
== У кабінеті клієнт бачить ==
 
* активні відправлення;
* історію доставок;
* трекінг відправлень;
* активні хостингові послуги;
* домени;
* дати завершення послуг;
* рахунки;
* оплати;
* борги;
* можливість завантажити PDF-рахунок;
* контактні дані;
* повідомлення;
* звернення до підтримки, якщо реалізовано.
 
== Панель адміністратора ==
 
Адмін-панель має дозволяти керувати обома напрямками.
 
== В адмін-панелі потрібно бачити ==
 
* клієнтів;
* відправлення;
* кур’єрів;
* відділення;
* тарифи доставки;
* хостингові тарифи;
* сервери;
* домени;
* хостингові послуги;
* рахунки;
* оплати;
* прострочені послуги;
* відправлення з проблемами;
* звіти.
 
== Сповіщення ==
 
Система має підтримувати сповіщення клієнтів і операторів.
 
== Події для поштових сповіщень ==
 
* відправлення прийнято;
* відправлення у транзиті;
* відправлення прибуло у відділення;
* відправлення передано кур’єру;
* відправлення доставлено;
* доставка не відбулася;
* потрібна додаткова оплата;
* відправлення повертається.
 
== Події для хостингових сповіщень ==
 
* створено хостингову послугу;
* виставлено рахунок;
* рахунок оплачено;
* послуга завершується через 30 днів;
* послуга завершується через 7 днів;
* послуга прострочена;
* домен завершується;
* домен продовжено;
* послугу призупинено.


== Звіти ==
== Звіти ==


=== Звіт по доставках ===
== Звіт «Доставки за період» ==
 
У звіті потрібно відображати:


* кількість відправлень;
* кількість відправлень;
* сума доходу по доставці.
* кількість доставлених;
* кількість недоставлених;
* суму доходу;
* середню вартість доставки;
* кількість повернень.
 
== Звіт «Робота кур’єрів» ==
 
У звіті потрібно відображати:
 
* кур’єра;
* кількість доставок;
* кількість успішних доставок;
* кількість невдалих доставок;
* суму доставок;
* середній час доставки, якщо реалізовано.
 
== Звіт «Хостингові послуги» ==


=== Звіт по хостингових послугах ===
У звіті потрібно відображати:


* кількість активних послуг;
* кількість активних послуг;
* сума доходу по хостингу.
* кількість прострочених послуг;
* кількість послуг, що завершуються;
* суму доходу;
* кількість послуг по тарифах.
 
== Звіт «Домени, що завершуються» ==
 
У звіті потрібно відображати:
 
* домен;
* клієнта;
* дату завершення;
* кількість днів до завершення;
* статус рахунку;
* статус домену.
 
== Загальний фінансовий звіт ==
 
У звіті потрібно відображати:
 
* доходи від доставки;
* доходи від хостингу;
* загальний дохід;
* оплачені рахунки;
* неоплачені рахунки;
* борги клієнтів;
* частку кожного напрямку в доході.
 
== Звіт «Борги клієнтів» ==
 
У звіті потрібно відображати:
 
* клієнта;
* напрям послуги;
* рахунок;
* суму рахунку;
* оплачено;
* борг;
* кількість днів прострочення.
 
== AJAX-інтерактив ==
 
Інтерфейс має працювати швидко й без перезавантаження сторінок.
 
Через AJAX мають працювати:
 
* пошук клієнтів;
* створення відправлення;
* розрахунок вартості доставки;
* зміна статусу відправлення;
* призначення кур’єра;
* створення хостингової послуги;
* прив’язка сервера;
* створення рахунку;
* фіксація оплати;
* продовження хостинг-послуги;
* фільтрація відправлень;
* фільтрація хостинг-послуг;
* фільтрація рахунків;
* оновлення особистого кабінету;
* формування звітів.
 
== Логування змін ==
 
Модуль повинен фіксувати ключові дії.
 
Журнал змін має зберігати:


=== Загальний фінансовий звіт ===
* хто створив клієнта;
* хто створив відправлення;
* хто змінив статус відправлення;
* хто призначив кур’єра;
* хто створив тариф доставки;
* хто створив хостинговий тариф;
* хто створив хостингову послугу;
* хто змінив дату завершення послуги;
* хто створив домен;
* хто створив рахунок;
* хто зафіксував оплату;
* хто продовжив послугу;
* хто надіслав сповіщення;
* дату й час дії;
* старе та нове значення, якщо це можливо.


* доходи за період:
== Права доступу ==
** окремо по доставці;
** окремо по хостингу.


== Додаткові функції ==
Модуль має підтримувати рольову модель.


* робота через AJAX для оновлення статусів доставки та хостинг-послуг без перезавантаження;
{| class="wikitable" style="width:100%;"
* сповіщення клієнтів:
! Роль
** про зміну статусу доставки;
! Можливості
** про продовження або завершення хостинг-послуги;
|-
* особистий кабінет клієнта:
| Клієнт
** перегляд усіх активних доставок і хостингових послуг;
| Бачить власні доставки, хостингові послуги, домени, рахунки й оплати
** скачування рахунків;
|-
** оновлення контактних даних;
| Оператор поштової служби
* панель адміністратора:
| Створює відправлення, змінює статуси, працює з відділеннями
** управління тарифами;
|-
** управління серверами;
| Кур’єр
** управління пунктами обслуговування;
| Бачить свої доставки, змінює статус доставки
** управління кур'єрами.
|-
| Хостинг-оператор
| Створює хостингові послуги, домени, рахунки на продовження
|-
| Технічний адміністратор
| Керує серверами, IP, DNS і технічними параметрами
|-
| Бухгалтер
| Працює з рахунками, оплатами, боргами і фінансовими звітами
|-
| Керівник
| Бачить загальні звіти по доставці, хостингу і фінансах
|-
| Адміністратор системи
| Налаштовує права, тарифи, довідники, шаблони і службові параметри
|}


== Технічні вимоги ==
== Технічні вимоги ==
{| class="wikitable"
 
!Параметр
{| class="wikitable" style="width:100%;"
!Опис
! Параметр
! Опис
|-
| Бекенд
| K2 Cloud ERP на Python або PHP
|-
| База даних
| PostgreSQL або MySQL
|-
| Фронтенд
| HTML5, JavaScript
|-
| AJAX
| Fetch API або Axios
|-
| UI-компоненти
| DataTables для клієнтів, відправлень, хостинг-послуг, рахунків; Select2 для пошуку клієнтів, тарифів, кур’єрів і серверів
|-
|-
|Бекенд
| Календар
|K2 Cloud ERP на Python або PHP
| FullCalendar для планування кур’єрів або технічних робіт, опціонально
|-
|-
|БД
| Друк
|PostgreSQL або MySQL
| PDF-транспортні накладні, рахунки, акти, звіти
|-
|-
|Фронтенд
| Експорт
|HTML5, JavaScript, AJAX, Fetch API або Axios
| Excel або PDF для фінансових і операційних звітів
|-
|-
|UI-компоненти
| Сповіщення
|DataTables, Select2, FullCalendar
| Email або внутрішні повідомлення
|-
|-
|Друк
| Оплати
|Генерація транспортних накладних, рахунків у PDF
| Готівка, картка, LiqPay, Stripe, PayPal або ручна оплата
|}
|}


== Критерії оцінки ==
== Рекомендовані сутності бази даних ==
{| class="wikitable"
 
!Критерій
Для реалізації задачі доцільно передбачити такі сутності:
!Бали
 
* клієнти;
* контактні особи;
* пункти обслуговування;
* кур’єри;
* тарифи доставки;
* відправлення;
* трекінг відправлень;
* хостингові тарифи;
* сервери;
* домени;
* хостингові послуги;
* рахунки;
* позиції рахунків;
* оплати;
* сповіщення;
* тікети підтримки, опціонально;
* журнал змін;
* права доступу;
* звіти.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.
 
Мінімальний сценарій для поштової частини:
 
# створити клієнта;
# створити пункт обслуговування;
# створити кур’єра;
# створити тариф доставки;
# створити відправлення;
# розрахувати вартість доставки;
# сформувати рахунок;
# зафіксувати оплату;
# змінити статус відправлення на '''«Прийнято»''';
# змінити статус на '''«У транзиті»''';
# призначити кур’єра;
# змінити статус на '''«Доставлено»''';
# перевірити історію трекінгу.
 
Мінімальний сценарій для хостингової частини:
 
# створити хостинговий тариф;
# створити сервер;
# створити домен клієнта;
# створити хостингову послугу;
# прив’язати послугу до клієнта;
# прив’язати послугу до сервера;
# сформувати рахунок на хостинг;
# зафіксувати оплату;
# змінити статус послуги на '''«Активна»''';
# виконати продовження послуги;
# перевірити зміну дати завершення.
 
Мінімальний сценарій для спільного фінансового блоку:
 
# сформувати рахунок на доставку;
# сформувати рахунок на хостинг;
# зафіксувати часткову оплату;
# перевірити борг;
# зафіксувати повну оплату;
# сформувати загальний фінансовий звіт;
# перевірити особистий кабінет клієнта;
# перевірити журнал змін.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Бали
! Що перевіряється
|-
| Реалізація бази клієнтів, відправлень і хостинг-послуг
| 20
| Єдина база клієнтів, поштові відправлення, кур’єри, відділення, тарифи, хостинг-послуги, сервери, домени
|-
| Управління оплатами і виставлення рахунків
| 20
| Рахунки на доставку і хостинг, часткові оплати, повні оплати, борги, PDF-документи
|-
|-
|Реалізація бази клієнтів, відправлень і хостинг-послуг
| Контроль продовження послуг і статусів
|20
| 20
| Статуси доставки, трекінг, статуси хостингу, дати завершення, продовження, сповіщення
|-
| Звіти по доходах
| 20
| Окремі звіти по доставці, хостингу, боргах, доменах, кур’єрах і загальний фінансовий звіт
|-
| Інтерактивність через AJAX і мобільна адаптивність
| 20
| AJAX-оновлення статусів, пошук, фільтри, кабінет клієнта, зручність роботи з телефону
|-
! Разом
! 100
! Максимальна оцінка
|}
 
== Шкала оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Бали
! Рівень
! Опис
|-
|-
|Управління оплатами і виставлення рахунків
| 90–100
|20
| Відмінно
| Модуль повністю працює: клієнти, доставки, хостинг, домени, рахунки, оплати, статуси, кабінет клієнта і звіти реалізовані коректно
|-
|-
|Контроль продовження послуг і статусів
| 75–89
|20
| Добре
| Основна логіка працює, є незначні недоліки, які не руйнують роботу мультисервісної компанії
|-
|-
|Звіти по доходах
| 60–74
|20
| Зараховано
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
|-
|-
|Інтерактивність через AJAX і мобільна адаптивність
| 0–59
|20
| Не зараховано
| Відсутня критична логіка: клієнти, відправлення, хостингові послуги, рахунки, оплати, статуси або звіти
|}
|}
== Критичні помилки ==
Критичними помилками вважаються ситуації, коли:
* неможливо створити клієнта;
* неможливо створити відправлення;
* відправлення не має статусу;
* відправлення не має трекінгу;
* неможливо створити хостингову послугу;
* хостингова послуга не має дати початку або завершення;
* рахунок не прив’язується до клієнта;
* рахунок не прив’язується до доставки або хостинг-послуги;
* часткова оплата не змінює борг;
* повна оплата не змінює статус рахунку;
* продовження хостингової послуги не змінює дату завершення;
* клієнт у кабінеті бачить чужі послуги або рахунки;
* звіти не відповідають фактичним доставкам, послугам і оплатам;
* зміни статусів, рахунків і оплат не логуються.
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти два базові цикли: доставка → рахунок → оплата → статус → трекінг → звіт та хостинг → рахунок → оплата → активація → продовження → звіт.
</div>
== Очікуваний результат ==
У результаті виконання атестаційного завдання має бути створений мультисервісний модуль у K2 ERP для компанії, що поєднує поштову доставку і хостингові послуги.
Модуль має підтримувати єдину базу клієнтів, відправлення, кур’єрів, пункти обслуговування, тарифи доставки, трекінг, хостингові тарифи, сервери, домени, хостингові послуги, рахунки, оплати, продовження, сповіщення, особистий кабінет клієнта, адмін-панель, звіти, AJAX-інтерактив і журнал змін.


== Примітка ==
== Примітка ==
Єдина ERP-система для поштової служби та хостингової компанії дозволяє управляти кількома напрямками бізнесу через один зручний інтерфейс, об'єднуючи:


* клієнтів;
Єдина ERP-система для поштової служби та хостингової компанії дозволяє управляти кількома напрямками бізнесу через один інтерфейс.
* рахунки;
 
* фінанси.
Це знижує витрати на облік, об’єднує клієнтську базу, спрощує фінанси, підвищує якість сервісу і дозволяє бачити прибутковість кожного напрямку окремо.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Мультисервісний модуль: поштова доставка + хостинг
|-
| Що є спільним?
| Клієнти, рахунки, оплати, кабінет клієнта, фінансові звіти
|-
| Що окреме для пошти?
| Відправлення, кур’єри, відділення, тарифи доставки, трекінг
|-
| Що окреме для хостингу?
| Тарифи, сервери, домени, хостинг-послуги, продовження
|-
| Що потрібно контролювати?
| Статуси доставок, строки хостинг-послуг, рахунки, оплати, борги
|-
| Які документи потрібні?
| Транспортні накладні, рахунки, акти, PDF-звіти
|-
| Які звіти потрібні?
| Доставки, кур’єри, хостинг, домени, борги, загальний фінансовий звіт
|-
| Що є критичною вимогою?
| Один клієнт має бачити всі свої доставки, хостингові послуги, рахунки й оплати в одному кабінеті
|}
 
== Див. також ==
 
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Хостинг]]
* [[Датацентр, інтернет-провайдер]]
* [[Реєстратор доменів]]
* [[CRM]]
* [[Каса]]
* [[Рахунок на оплату]]
* [[Особистий кабінет]]
* [[Логістика]]
* [[Кур'єрська доставка]]
* [[Трекінг відправлень]]
* [[AJAX]]


Це знижує витрати на облік і підвищує ефективність обслуговування.
[[Категорія:K2 ERP]]
[[Категорія:Атестаційні завдання K2]]
[[Категорія:Поштова служба]]
[[Категорія:Хостинг]]
[[Категорія:Логістика]]
[[Категорія:Білінг]]
[[Категорія:CRM]]
[[Категорія:Корпоративна Wiki]]

Поточна версія на 20:51, 1 травня 2026


Атестаційне завдання K2 ERP — Поштова служба + Хостинг — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні мультисервісного модуля для компанії, яка одночасно надає послуги поштової доставки та хостингові послуги.

Модуль має забезпечувати спільну базу клієнтів, єдину фінансову систему, окремі журнали для відправлень і хостингових послуг, контроль статусів, оплат, продовжень, сповіщень, особистий кабінет клієнта, адмін-панель і звіти по кожному напрямку бізнесу.

Коротко. Потрібно реалізувати мультисервісну ERP-систему: клієнти, поштові відправлення, кур’єри, відділення, тарифи доставки, хостингові тарифи, сервери, домени, хостинг-послуги, рахунки, оплати, статуси, продовження, сповіщення, кабінет клієнта, адмін-панель і звіти.

Назва завдання

Модуль обліку клієнтів, послуг, замовлень, рахунків і статусів для мультисервісної компанії: Поштова доставка + Хостинг.

Мета завдання

Мета завдання — створити в K2 ERP модуль для компанії, яка має два різні напрями діяльності:

  • поштова доставка;
  • хостингові та доменні послуги.

Система повинна дозволяти:

  • вести єдину базу клієнтів;
  • вести поштові відправлення;
  • вести пункти обслуговування;
  • вести кур’єрів;
  • вести маршрути доставки;
  • контролювати статуси відправлень;
  • формувати транспортні накладні;
  • вести хостингові тарифні плани;
  • вести сервери;
  • вести домени;
  • вести хостингові послуги клієнтів;
  • контролювати дати завершення хостинг-послуг;
  • формувати рахунки на доставку;
  • формувати рахунки на хостинг;
  • приймати оплати;
  • бачити борги клієнтів;
  • надсилати сповіщення;
  • вести особистий кабінет клієнта;
  • формувати окремі звіти по доставці;
  • формувати окремі звіти по хостингу;
  • формувати загальний фінансовий звіт.

Головний принцип. Клієнт має бути один у системі, навіть якщо він одночасно користується доставкою, хостингом, доменами та іншими послугами. Фінанси, рахунки й оплати мають обліковуватися централізовано.

Загальний бізнес-контекст

Компанія працює як мультисервісний оператор і надає два типи послуг.

Поштовий напрям:

  • доставка посилок;
  • доставка документів;
  • міжнародні відправлення;
  • кур’єрська доставка;
  • доставка між відділеннями;
  • адресна доставка.

Хостинговий напрям:

  • shared hosting;
  • VPS;
  • VDS;
  • dedicated server;
  • домени;
  • DNS;
  • SSL-сертифікати;
  • резервне копіювання;
  • технічна підтримка.

Компанії потрібно:

  • вести єдину базу клієнтів;
  • бачити всі послуги клієнта в одному кабінеті;
  • вести окремі операційні процеси для доставки і хостингу;
  • мати спільний фінансовий модуль;
  • контролювати статуси замовлень і послуг;
  • автоматично формувати рахунки;
  • надсилати повідомлення клієнтам;
  • аналізувати доходи по кожному напрямку.

Основний бізнес-процес

Типовий процес для поштової доставки:

  1. клієнт створюється або обирається із бази;
  2. оформлюється відправлення;
  3. вказується відправник, одержувач, адреса, вага і тип доставки;
  4. система розраховує вартість;
  5. створюється рахунок або оплата на місці;
  6. відправлення отримує статус «Прийнято»;
  7. далі статуси змінюються: «Відправлено», «У транзиті», «На доставці», «Доставлено»;
  8. клієнт отримує сповіщення;
  9. система формує звіти по доставках.

Типовий процес для хостингу:

  1. клієнт створюється або обирається із бази;
  2. обирається тариф хостингу;
  3. створюється хостингова послуга;
  4. послуга прив’язується до сервера або домену;
  5. система формує рахунок;
  6. клієнт оплачує;
  7. послуга переходить у статус «Активна»;
  8. перед завершенням періоду система надсилає нагадування;
  9. після оплати послуга продовжується;
  10. система формує звіти по хостингових послугах.

Основні об’єкти модуля

Об’єкт Призначення
Клієнти Єдина база фізичних і юридичних осіб
Пункти обслуговування Відділення поштової служби
Кур’єри Співробітники, які доставляють відправлення
Відправлення Посилки, документи, вантажі
Маршрути Напрями доставки
Тарифи доставки Правила розрахунку вартості доставки
Хостингові тарифи Пакети послуг хостингу
Сервери Інфраструктура для хостингових послуг
Домени Доменні імена клієнтів
Хостингові послуги Активні або завершені послуги клієнтів
Рахунки Документи на оплату доставки або хостингу
Оплати Фактичні платежі клієнтів
Сповіщення Повідомлення про статуси, рахунки, продовження
Кабінет клієнта Перегляд доставок, хостингу, рахунків і оплат
Звіти Аналітика по доставці, хостингу і фінансах

Спільна база «Клієнти»

Клієнт може користуватися однією або кількома послугами.

Типи клієнтів

  • фізична особа;
  • ФОП;
  • юридична особа;
  • корпоративний клієнт;
  • партнер;
  • внутрішній клієнт.

Поля клієнта

Поле Опис
ПІБ або назва компанії Назва клієнта
Тип клієнта Фізична особа, ФОП, юридична особа
Email Основний контакт і логін
Телефон Контактний номер
Контактна особа Для юридичних осіб
Адреса Адреса клієнта
Дата реєстрації Коли клієнт створений
Статус Активний, заблокований, архівний
Коментар Внутрішня примітка

Послуги клієнта

У картці клієнта потрібно бачити:

  • активні поштові відправлення;
  • історію доставок;
  • активні хостингові послуги;
  • домени;
  • рахунки;
  • оплати;
  • борги;
  • сповіщення;
  • тікети або звернення, якщо реалізовано.

Поштова частина

Довідник «Пункти обслуговування»

Пункти обслуговування — це відділення, де приймаються і видаються відправлення.

Поля пункту обслуговування

Поле Опис
Назва відділення Наприклад: Відділення №1
Адреса Фактична адреса
Телефон Контактний номер
Місто Населений пункт
Графік роботи Дні та години роботи
Відповідальний Керівник або оператор відділення
Статус Активне, тимчасово закрите, архівне

Довідник «Кур’єри»

Кур’єри виконують доставку відправлень.

Поля кур’єра

Поле Опис
ПІБ Повне ім’я кур’єра
Телефон Контактний номер
Email Опціонально
Місто / зона доставки Територія роботи
Тип транспорту Пішки, авто, мото, велосипед
Статус Активний, відпустка, лікарняний, звільнений

Довідник «Тарифи доставки»

Тарифи потрібні для розрахунку вартості доставки.

Варіанти тарифікації

  • за вагою;
  • за габаритами;
  • за містом;
  • за зоною доставки;
  • за країною;
  • за терміновістю;
  • фіксована ціна;
  • індивідуальна ціна для корпоративного клієнта.

Поля тарифу доставки

Поле Опис
Назва тарифу Наприклад: Стандарт, Експрес, Міжнародний
Тип доставки Документи, посилка, вантаж
Мінімальна вага Початок діапазону
Максимальна вага Кінець діапазону
Базова ціна Початкова ціна
Ціна за кг Додаткова ціна за вагу
Термін доставки Орієнтовна кількість днів
Статус Активний або архівний

База «Відправлення»

Відправлення — головний об’єкт поштової частини.

Колонки бази відправлень

Колонка Опис
Номер відправлення Унікальний трек-номер
Відправник Клієнт або контакт відправника
Одержувач Хто отримує
Адреса доставки Куди доставити
Тип відправлення Посилка, документи, вантаж
Вага Вага відправлення
Вартість доставки Розрахована сума
Статус Прийнято, у транзиті, доставлено тощо
Кур’єр Хто доставляє
Термін доставки Планова дата доставки

Поля відправлення

Поле Опис
Номер відправлення Унікальний номер або трек-код
Відправник Клієнт або особа, що відправляє
Телефон відправника Контакт відправника
Одержувач ПІБ або назва компанії
Телефон одержувача Контакт одержувача
Адреса відправлення Звідки відправлено
Адреса доставки Куди доставити
Тип відправлення Посилка, документи, вантаж
Вага Вага у кг
Габарити Довжина, ширина, висота, опціонально
Оголошена вартість Опціонально
Вартість доставки Розрахована або ручна
Кур’єр Призначений виконавець
Пункт прийому Де прийнято
Пункт видачі Якщо доставка до відділення
Планова дата доставки Очікувана дата
Статус Поточний стан відправлення

Статуси відправлення

Статус Значення
Створено Відправлення створено в системі
Прийнято Посилку прийнято у відділенні або кур’єром
Відправлено Відправлення передано в доставку
У транзиті Відправлення переміщується між пунктами
Прибуло у відділення Відправлення готове до видачі
На доставці Кур’єр доставляє одержувачу
Доставлено Відправлення отримано
Не доставлено Доставка не відбулася
Повернення Відправлення повертається відправнику
Скасовано Відправлення скасовано

Трекінг відправлення

Система має зберігати історію статусів відправлення.

Поля трекінгу

Поле Опис
Відправлення До якого відправлення запис
Дата і час Коли змінився статус
Статус Новий статус
Локація Відділення, місто або зона
Користувач Хто змінив статус
Коментар Додаткова інформація

Хостингова частина

Довідник «Хостингові тарифні плани»

Тариф описує тип хостингової послуги, характеристики та вартість.

Типи хостингових послуг

  • shared hosting;
  • VPS;
  • VDS;
  • dedicated server;
  • domain;
  • DNS;
  • SSL;
  • backup;
  • email hosting;
  • administration.

Поля тарифного плану

Поле Опис
Назва тарифу Наприклад: Hosting Start, VPS 4GB
Тип послуги Хостинг, VPS, домен, SSL тощо
Вартість на місяць Ціна за місяць
Вартість на рік Ціна за рік
Дисковий простір Наприклад: 10 GB
RAM Для VPS або серверів
CPU Для VPS або серверів
Трафік Ліміт або безліміт
Статус Активний, прихований, архівний

Довідник «Сервери»

Сервери використовуються для розміщення хостингових послуг.

Поля сервера

Поле Опис
Назва сервера Hostname або внутрішня назва
Тип сервера Shared, VPS-node, Dedicated, DNS, Mail
IP-адреса Основна IP
Пул IP Доступні IP-адреси
Локація Датацентр або місто
Статус Активний, на обслуговуванні, виведений

База «Хостингові послуги»

Хостингова послуга — це активна або завершена послуга клієнта.

Колонки бази хостингових послуг

Колонка Опис
Клієнт Власник послуги
Тип послуги Хостинг, VPS, домен, SSL
Тариф Обраний тарифний план
Сервер Де розміщена послуга
Домен Якщо прив’язано
Дата початку Початок дії
Дата завершення Кінець оплаченого періоду
Статус Активна, припинена, очікує оплату, прострочена

Статуси хостингової послуги

Статус Значення
Нова Послугу створено
Очікує оплату Рахунок виставлено, оплати немає
Активна Послуга оплачена і працює
Завершується До кінця періоду залишилось мало часу
Прострочена Період завершився, оплати немає
Призупинена Послугу тимчасово зупинено
Припинена Послуга більше не надається

База «Домени»

Домени можуть бути окремою послугою клієнта або прив’язкою до хостингу.

Поля домену

Поле Опис
Доменне ім’я Наприклад: example.com
Клієнт Власник домену
Реєстратор Де зареєстровано
Дата реєстрації Коли зареєстровано
Дата завершення Коли завершується дія
DNS-сервери NS-записи
Статус Активний, завершується, протермінований, видалений

Спільний фінансовий модуль

Фінансовий модуль має працювати для обох напрямків.

Рахунки можуть створюватися для

  • поштової доставки;
  • додаткового страхування відправлення;
  • міжнародної доставки;
  • хостингової послуги;
  • продовження VPS;
  • продовження домену;
  • SSL-сертифіката;
  • адміністрування;
  • інших послуг.

Поля рахунку

Поле Опис
Номер рахунку Унікальний номер
Клієнт Кому виставлено рахунок
Напрям послуги Доставка або хостинг
Об’єкт оплати Відправлення, хостингова послуга, домен
Дата рахунку Коли сформовано
Сума Сума до оплати
Оплачено Скільки оплачено
Борг Залишок
Статус Новий, очікує оплату, частково оплачено, оплачено, прострочено, скасовано

Способи оплати

  • готівка;
  • банківська картка;
  • банківський переказ;
  • LiqPay;
  • Stripe;
  • PayPal;
  • внутрішній баланс клієнта;
  • ручна оплата оператором.

Поля оплати

Поле Опис
Клієнт Хто оплатив
Рахунок До якого рахунку прив’язана оплата
Дата оплати Коли отримано оплату
Сума Розмір платежу
Спосіб оплати Готівка, картка, LiqPay, Stripe, PayPal тощо
Статус Очікує, успішно, помилка, повернення
Коментар Примітка оператора

Особистий кабінет клієнта

Клієнт повинен бачити всі свої послуги в одному кабінеті.

У кабінеті клієнт бачить

  • активні відправлення;
  • історію доставок;
  • трекінг відправлень;
  • активні хостингові послуги;
  • домени;
  • дати завершення послуг;
  • рахунки;
  • оплати;
  • борги;
  • можливість завантажити PDF-рахунок;
  • контактні дані;
  • повідомлення;
  • звернення до підтримки, якщо реалізовано.

Панель адміністратора

Адмін-панель має дозволяти керувати обома напрямками.

В адмін-панелі потрібно бачити

  • клієнтів;
  • відправлення;
  • кур’єрів;
  • відділення;
  • тарифи доставки;
  • хостингові тарифи;
  • сервери;
  • домени;
  • хостингові послуги;
  • рахунки;
  • оплати;
  • прострочені послуги;
  • відправлення з проблемами;
  • звіти.

Сповіщення

Система має підтримувати сповіщення клієнтів і операторів.

Події для поштових сповіщень

  • відправлення прийнято;
  • відправлення у транзиті;
  • відправлення прибуло у відділення;
  • відправлення передано кур’єру;
  • відправлення доставлено;
  • доставка не відбулася;
  • потрібна додаткова оплата;
  • відправлення повертається.

Події для хостингових сповіщень

  • створено хостингову послугу;
  • виставлено рахунок;
  • рахунок оплачено;
  • послуга завершується через 30 днів;
  • послуга завершується через 7 днів;
  • послуга прострочена;
  • домен завершується;
  • домен продовжено;
  • послугу призупинено.

Звіти

Звіт «Доставки за період»

У звіті потрібно відображати:

  • кількість відправлень;
  • кількість доставлених;
  • кількість недоставлених;
  • суму доходу;
  • середню вартість доставки;
  • кількість повернень.

Звіт «Робота кур’єрів»

У звіті потрібно відображати:

  • кур’єра;
  • кількість доставок;
  • кількість успішних доставок;
  • кількість невдалих доставок;
  • суму доставок;
  • середній час доставки, якщо реалізовано.

Звіт «Хостингові послуги»

У звіті потрібно відображати:

  • кількість активних послуг;
  • кількість прострочених послуг;
  • кількість послуг, що завершуються;
  • суму доходу;
  • кількість послуг по тарифах.

Звіт «Домени, що завершуються»

У звіті потрібно відображати:

  • домен;
  • клієнта;
  • дату завершення;
  • кількість днів до завершення;
  • статус рахунку;
  • статус домену.

Загальний фінансовий звіт

У звіті потрібно відображати:

  • доходи від доставки;
  • доходи від хостингу;
  • загальний дохід;
  • оплачені рахунки;
  • неоплачені рахунки;
  • борги клієнтів;
  • частку кожного напрямку в доході.

Звіт «Борги клієнтів»

У звіті потрібно відображати:

  • клієнта;
  • напрям послуги;
  • рахунок;
  • суму рахунку;
  • оплачено;
  • борг;
  • кількість днів прострочення.

AJAX-інтерактив

Інтерфейс має працювати швидко й без перезавантаження сторінок.

Через AJAX мають працювати:

  • пошук клієнтів;
  • створення відправлення;
  • розрахунок вартості доставки;
  • зміна статусу відправлення;
  • призначення кур’єра;
  • створення хостингової послуги;
  • прив’язка сервера;
  • створення рахунку;
  • фіксація оплати;
  • продовження хостинг-послуги;
  • фільтрація відправлень;
  • фільтрація хостинг-послуг;
  • фільтрація рахунків;
  • оновлення особистого кабінету;
  • формування звітів.

Логування змін

Модуль повинен фіксувати ключові дії.

Журнал змін має зберігати:

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

Права доступу

Модуль має підтримувати рольову модель.

Роль Можливості
Клієнт Бачить власні доставки, хостингові послуги, домени, рахунки й оплати
Оператор поштової служби Створює відправлення, змінює статуси, працює з відділеннями
Кур’єр Бачить свої доставки, змінює статус доставки
Хостинг-оператор Створює хостингові послуги, домени, рахунки на продовження
Технічний адміністратор Керує серверами, IP, DNS і технічними параметрами
Бухгалтер Працює з рахунками, оплатами, боргами і фінансовими звітами
Керівник Бачить загальні звіти по доставці, хостингу і фінансах
Адміністратор системи Налаштовує права, тарифи, довідники, шаблони і службові параметри

Технічні вимоги

Параметр Опис
Бекенд K2 Cloud ERP на Python або PHP
База даних PostgreSQL або MySQL
Фронтенд HTML5, JavaScript
AJAX Fetch API або Axios
UI-компоненти DataTables для клієнтів, відправлень, хостинг-послуг, рахунків; Select2 для пошуку клієнтів, тарифів, кур’єрів і серверів
Календар FullCalendar для планування кур’єрів або технічних робіт, опціонально
Друк PDF-транспортні накладні, рахунки, акти, звіти
Експорт Excel або PDF для фінансових і операційних звітів
Сповіщення Email або внутрішні повідомлення
Оплати Готівка, картка, LiqPay, Stripe, PayPal або ручна оплата

Рекомендовані сутності бази даних

Для реалізації задачі доцільно передбачити такі сутності:

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

Практичне завдання

У межах атестації потрібно продемонструвати робочий сценарій.

Мінімальний сценарій для поштової частини:

  1. створити клієнта;
  2. створити пункт обслуговування;
  3. створити кур’єра;
  4. створити тариф доставки;
  5. створити відправлення;
  6. розрахувати вартість доставки;
  7. сформувати рахунок;
  8. зафіксувати оплату;
  9. змінити статус відправлення на «Прийнято»;
  10. змінити статус на «У транзиті»;
  11. призначити кур’єра;
  12. змінити статус на «Доставлено»;
  13. перевірити історію трекінгу.

Мінімальний сценарій для хостингової частини:

  1. створити хостинговий тариф;
  2. створити сервер;
  3. створити домен клієнта;
  4. створити хостингову послугу;
  5. прив’язати послугу до клієнта;
  6. прив’язати послугу до сервера;
  7. сформувати рахунок на хостинг;
  8. зафіксувати оплату;
  9. змінити статус послуги на «Активна»;
  10. виконати продовження послуги;
  11. перевірити зміну дати завершення.

Мінімальний сценарій для спільного фінансового блоку:

  1. сформувати рахунок на доставку;
  2. сформувати рахунок на хостинг;
  3. зафіксувати часткову оплату;
  4. перевірити борг;
  5. зафіксувати повну оплату;
  6. сформувати загальний фінансовий звіт;
  7. перевірити особистий кабінет клієнта;
  8. перевірити журнал змін.

Критерії оцінювання

Критерій Бали Що перевіряється
Реалізація бази клієнтів, відправлень і хостинг-послуг 20 Єдина база клієнтів, поштові відправлення, кур’єри, відділення, тарифи, хостинг-послуги, сервери, домени
Управління оплатами і виставлення рахунків 20 Рахунки на доставку і хостинг, часткові оплати, повні оплати, борги, PDF-документи
Контроль продовження послуг і статусів 20 Статуси доставки, трекінг, статуси хостингу, дати завершення, продовження, сповіщення
Звіти по доходах 20 Окремі звіти по доставці, хостингу, боргах, доменах, кур’єрах і загальний фінансовий звіт
Інтерактивність через AJAX і мобільна адаптивність 20 AJAX-оновлення статусів, пошук, фільтри, кабінет клієнта, зручність роботи з телефону
Разом 100 Максимальна оцінка

Шкала оцінювання

Бали Рівень Опис
90–100 Відмінно Модуль повністю працює: клієнти, доставки, хостинг, домени, рахунки, оплати, статуси, кабінет клієнта і звіти реалізовані коректно
75–89 Добре Основна логіка працює, є незначні недоліки, які не руйнують роботу мультисервісної компанії
60–74 Зараховано Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання
0–59 Не зараховано Відсутня критична логіка: клієнти, відправлення, хостингові послуги, рахунки, оплати, статуси або звіти

Критичні помилки

Критичними помилками вважаються ситуації, коли:

  • неможливо створити клієнта;
  • неможливо створити відправлення;
  • відправлення не має статусу;
  • відправлення не має трекінгу;
  • неможливо створити хостингову послугу;
  • хостингова послуга не має дати початку або завершення;
  • рахунок не прив’язується до клієнта;
  • рахунок не прив’язується до доставки або хостинг-послуги;
  • часткова оплата не змінює борг;
  • повна оплата не змінює статус рахунку;
  • продовження хостингової послуги не змінює дату завершення;
  • клієнт у кабінеті бачить чужі послуги або рахунки;
  • звіти не відповідають фактичним доставкам, послугам і оплатам;
  • зміни статусів, рахунків і оплат не логуються.

Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти два базові цикли: доставка → рахунок → оплата → статус → трекінг → звіт та хостинг → рахунок → оплата → активація → продовження → звіт.

Очікуваний результат

У результаті виконання атестаційного завдання має бути створений мультисервісний модуль у K2 ERP для компанії, що поєднує поштову доставку і хостингові послуги.

Модуль має підтримувати єдину базу клієнтів, відправлення, кур’єрів, пункти обслуговування, тарифи доставки, трекінг, хостингові тарифи, сервери, домени, хостингові послуги, рахунки, оплати, продовження, сповіщення, особистий кабінет клієнта, адмін-панель, звіти, AJAX-інтерактив і журнал змін.

Примітка

Єдина ERP-система для поштової служби та хостингової компанії дозволяє управляти кількома напрямками бізнесу через один інтерфейс.

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

Коротко

Питання Відповідь
Що потрібно створити? Мультисервісний модуль: поштова доставка + хостинг
Що є спільним? Клієнти, рахунки, оплати, кабінет клієнта, фінансові звіти
Що окреме для пошти? Відправлення, кур’єри, відділення, тарифи доставки, трекінг
Що окреме для хостингу? Тарифи, сервери, домени, хостинг-послуги, продовження
Що потрібно контролювати? Статуси доставок, строки хостинг-послуг, рахунки, оплати, борги
Які документи потрібні? Транспортні накладні, рахунки, акти, PDF-звіти
Які звіти потрібні? Доставки, кур’єри, хостинг, домени, борги, загальний фінансовий звіт
Що є критичною вимогою? Один клієнт має бачити всі свої доставки, хостингові послуги, рахунки й оплати в одному кабінеті

Див. також