Атестаційні завдання K2 ERP/Хостинг: відмінності між версіями

Первинна публікація
 
Немає опису редагування
 
Рядок 1: Рядок 1:
{{DISPLAYTITLE:Атестаційні завдання K2 ERP/Хостинг}}


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


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


* продає послуги розміщення сайтів, віртуальних серверів:
Хостингова компанія надає клієнтам цифрові послуги:
** VPS;
 
** VDS;
* shared hosting;
* надає оренду серверів — dedicated;
* VPS;
* реєструє або супроводжує доменні імена клієнтів;
* VDS;
* веде облік активних послуг, термінів дії і оплат;
* dedicated server;
* автоматизує виставлення рахунків і сповіщення клієнтів.
* colocation;
* реєстрація доменів;
* супровід доменів;
* DNS-хостинг;
* SSL-сертифікати;
* резервне копіювання;
* поштовий хостинг;
* адміністрування серверів;
* додаткові технічні послуги.
 
Компанії потрібно:
 
* зберігати базу клієнтів;
* вести активні послуги кожного клієнта;
* контролювати строки завершення послуг;
* виставляти рахунки;
* фіксувати платежі;
* надсилати нагадування;
* запобігати випадковому відключенню оплачених послуг;
* бачити фінансову статистику;
* контролювати завантаження серверів;
* швидко відповідати клієнтам через особистий кабінет або підтримку.
 
== Основний бізнес-процес ==
 
Типовий процес роботи хостинг-провайдера виглядає так:
 
# менеджер або клієнт створює обліковий запис;
# клієнт обирає тариф;
# система створює послугу клієнта;
# послуга прив’язується до сервера, домену або IP-адреси;
# система формує рахунок;
# клієнт оплачує рахунок;
# послуга переходить у статус '''«Активна»''';
# перед завершенням періоду система надсилає нагадування;
# формується рахунок на продовження;
# після оплати період дії послуги продовжується;
# якщо оплати немає — послуга переходить у статус '''«Очікує оплату»''' або '''«Прострочена»''';
# адміністратор бачить прострочені послуги у звіті.
 
== Основні об’єкти модуля ==
 
{| class="wikitable" style="width:100%;"
! Об’єкт
! Призначення
|-
| Клієнти
| Фізичні особи, ФОП або компанії, що купують послуги
|-
| Тарифні плани
| Пакети послуг із цінами та характеристиками
|-
| Сервери
| Фізичні або віртуальні сервери провайдера
|-
| IP-адреси
| Пул адрес, прив’язаний до серверів або клієнтів
|-
| Послуги клієнтів
| Активні або завершені послуги клієнтів
|-
| Домени
| Доменні імена клієнтів
|-
| DNS
| DNS-сервери або DNS-записи, якщо реалізовано
|-
| Рахунки
| Документи для оплати
|-
| Оплати
| Фактичні платежі клієнтів
|-
| Продовження
| Операції продовження послуг
|-
| Сповіщення
| Email або внутрішні повідомлення клієнтам
|-
| Тікети підтримки
| Звернення клієнтів, опціонально
|-
| Звіти
| Аналітика по доходах, послугах, клієнтах і серверах
|}
 
== Довідник «Клієнти» ==
 
Клієнти — це користувачі або компанії, які купують хостингові послуги.
 
== Типи клієнтів ==
 
* фізична особа;
* ФОП;
* юридична особа;
* корпоративний клієнт;
* партнер;
* внутрішній клієнт.
 
== Поля клієнта ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| ПІБ або назва компанії
| Ім’я клієнта або назва організації
|-
| Тип клієнта
| Фізична особа, ФОП, юридична особа
|-
| Email
| Основний контакт і логін
|-
| Телефон
| Контактний номер
|-
| Контактна особа
| Для компаній
|-
| Дата реєстрації
| Коли клієнт створений у системі
|-
| Адреса
| Юридична або фактична адреса, якщо потрібно
|-
| Коментар
| Внутрішні нотатки менеджера
|-
| Статус
| Активний, заблокований, архівний
|}
 
== Довідник «Тарифні плани» ==
 
Тарифний план описує послугу, її параметри та вартість.
 
== Типи тарифів ==
 
* shared hosting;
* VPS;
* VDS;
* dedicated server;
* colocation;
* domain registration;
* DNS hosting;
* email hosting;
* backup;
* SSL certificate;
* administration;
* інші додаткові послуги.
 
== Поля тарифного плану ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва тарифу
| Наприклад: Hosting Start, VPS 4GB, Dedicated Pro
|-
| Тип послуги
| Хостинг, VPS, домен, сервер, SSL, backup
|-
| Опис
| Короткий опис послуги
|-
| Вартість за місяць
| Ціна за 1 місяць
|-
| Вартість за рік
| Ціна за 12 місяців
|-
| Дисковий простір
| Наприклад: 10 GB, 50 GB, 200 GB
|-
| RAM
| Для VPS / VDS / Dedicated
|-
| CPU
| Кількість ядер або частка CPU
|-
| Трафік
| Ліміт або безліміт
|-
| Кількість сайтів
| Для shared hosting
|-
| Кількість баз даних
| Для shared hosting
|-
| Статус
| Активний, прихований, архівний
|}
 
== Довідник «Сервери» ==
 
Сервери потрібні для прив’язки послуг клієнтів до фізичної або віртуальної інфраструктури.
 
== Типи серверів ==
 
* Shared;
* VPS-node;
* Dedicated;
* Backup;
* DNS;
* Mail;
* Database;
* Storage;
* Service.
 
== Поля сервера ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Назва сервера
| Внутрішня назва або hostname
|-
| Локація
| Датацентр або місто
|-
| Тип сервера
| Shared, VPS-node, Dedicated, DNS тощо
|-
| IP-адреса
| Основна IP-адреса
|-
| Пул IP
| Доступні IP-адреси
|-
| CPU
| Характеристика процесора
|-
| RAM
| Обсяг пам’яті
|-
| Disk
| Обсяг дискового простору
|-
| Статус
| Активний, на обслуговуванні, виведений
|-
| Коментар
| Внутрішня примітка
|}
 
== Статуси сервера ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Активний
| Сервер використовується
|-
| На обслуговуванні
| Тимчасово недоступний для нових послуг
|-
| Перевантажений
| Потрібна увага адміністратора
|-
| Резерв
| Сервер готовий, але не використовується
|-
| Виведений
| Сервер більше не використовується
|}
 
== Довідник «IP-адреси» ==
 
IP-адреси використовуються для серверів, VPS, dedicated-серверів або окремих послуг.
 
== Поля IP-адреси ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| IP-адреса
| IPv4 або IPv6
|-
| Сервер
| До якого сервера належить
|-
| Клієнт
| Якщо адреса виділена клієнту
|-
| Послуга
| До якої послуги прив’язана
|-
| Статус
| Вільна, зайнята, резерв, заблокована
|-
| Коментар
| Технічна примітка
|}
 
== База «Послуги клієнтів» ==
 
Послуга клієнта — це конкретний активний або завершений продукт, який купив клієнт.
 
== Колонки бази послуг ==
 
{| class="wikitable" style="width:100%;"
! Колонка
! Опис
|-
| Клієнт
| Власник послуги
|-
| Тип послуги
| Hosting, VPS, Domain, SSL тощо
|-
| Тарифний план
| Який тариф використовується
|-
| Сервер
| Де розміщена послуга
|-
| Домен
| Якщо послуга пов’язана з доменом
|-
| Дата початку
| Початок дії
|-
| Дата завершення
| Кінець оплаченого періоду
|-
| Період оплати
| Місяць, квартал, рік
|-
| Статус
| Активна, очікує оплату, прострочена, припинена
|}
 
== Поля послуги клієнта ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер послуги
| Унікальний номер
|-
| Клієнт
| Власник послуги
|-
| Тариф
| Обраний тарифний план
|-
| Тип послуги
| Хостинг, VPS, домен, сервер, SSL
|-
| Сервер
| Сервер розміщення
|-
| IP-адреса
| Якщо виділена
|-
| Домен
| Якщо прив’язаний
|-
| Дата початку
| Початок дії послуги
|-
| Дата завершення
| Завершення оплаченого періоду
|-
| Автопродовження
| Так або ні
|-
| Період оплати
| Місяць, квартал, рік
|-
| Статус
| Поточний стан послуги
|-
| Коментар
| Службова примітка
|}
 
== Статуси послуг ==
 
{| class="wikitable" style="width:100%;"
! Статус
! Значення
|-
| Нова
| Послугу створено, але ще не активовано
|-
| Очікує оплату
| Рахунок виставлено, оплати ще немає
|-
| Активна
| Послуга оплачена і діє
|-
| Завершується
| До завершення лишилось мало часу
|-
| Прострочена
| Період дії завершився, оплати немає
|-
| Призупинена
| Послуга тимчасово зупинена
|-
| Припинена
| Послуга більше не надається
|-
| Архівна
| Збережена для історії
|}
 
== База «Домени» ==
 
Домени можуть реєструватися провайдером або просто супроводжуватися в системі.
 
== Поля домену ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Доменне ім’я
| Наприклад: example.com
|-
| Клієнт
| Власник домену
|-
| Реєстратор
| Компанія-реєстратор
|-
| Зона домену
| .com, .net, .ua, .org тощо
|-
| Дата реєстрації
| Коли зареєстровано
|-
| Дата завершення
| Коли завершується строк дії
|-
| DNS-сервери
| NS-записи
|-
| Статус
| Активний, завершується, протермінований, видалений
|-
| Автопродовження
| Так або ні
|}
 
== Сповіщення по доменах ==
 
Система має надсилати нагадування:
 
* за 30 днів до завершення;
* за 15 днів до завершення;
* за 7 днів до завершення;
* у день завершення;
* після прострочення, якщо домен не продовжено.
 
== DNS, опціонально ==
 
Опціонально можна реалізувати простий облік DNS.
 
== Типи DNS-записів ==
 
* A;
* AAAA;
* CNAME;
* MX;
* TXT;
* NS;
* SRV.
 
== Поля DNS-запису ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Домен
| До якого домену належить запис
|-
| Тип запису
| A, MX, TXT тощо
|-
| Ім’я
| Host або піддомен
|-
| Значення
| IP, текст або інше значення
|-
| TTL
| Час життя запису
|-
| Статус
| Активний або вимкнений
|}
 
== Рахунки і оплати ==
 
Модуль має підтримувати виставлення рахунків і контроль оплат.
 
== Рахунки формуються для ==
 
* нової послуги;
* продовження послуги;
* реєстрації домену;
* продовження домену;
* SSL-сертифіката;
* адміністрування;
* додаткових послуг;
* разових робіт.
 
== Поля рахунку ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Номер рахунку
| Унікальний номер
|-
| Клієнт
| Кому виставлено рахунок
|-
| Послуга
| За яку послугу рахунок
|-
| Дата рахунку
| Коли сформовано
|-
| Період
| За який період оплата
|-
| Сума
| Сума до оплати
|-
| Валюта
| UAH, USD, EUR тощо
|-
| Оплачено
| Скільки оплачено
|-
| Борг
| Залишок до оплати
|-
| Статус
| Новий, очікує оплату, частково оплачено, оплачено, прострочено, скасовано
|}
 
== Способи оплати ==
 
* LiqPay;
* Stripe;
* PayPal;
* банківський переказ;
* ручна оплата;
* внутрішній баланс клієнта.
 
== Поля оплати ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Клієнт
| Хто оплатив
|-
| Рахунок
| До якого рахунку прив’язана оплата
|-
| Дата оплати
| Коли отримано оплату
|-
| Сума
| Розмір платежу
|-
| Спосіб оплати
| LiqPay, Stripe, PayPal, вручну тощо
|-
| Статус платежу
| Очікує, успішно, помилка, повернення
|-
| Коментар
| Примітка оператора
|}
 
== Автоматичне продовження послуг ==
 
Система повинна підтримувати логіку продовження.
 
== Варіанти продовження ==
 
* ручне продовження адміністратором;
* автоматичне продовження після оплати;
* продовження з балансу клієнта;
* продовження тільки після підтвердження менеджера.
 
== Логіка продовження ==
 
# система знаходить послуги, які скоро завершуються;
# формує рахунок на продовження;
# надсилає клієнту повідомлення;
# клієнт оплачує рахунок;
# система продовжує дату завершення послуги;
# статус послуги оновлюється на '''«Активна»''';
# операція потрапляє в журнал змін.
 
== Особистий кабінет клієнта ==
 
Клієнт повинен мати доступ до особистого кабінету.
 
== У кабінеті клієнт бачить ==
 
* свої послуги;
* статуси послуг;
* дати завершення;
* домени;
* рахунки;
* оплати;
* борги;
* можливість продовження;
* контактні дані;
* історію звернень у підтримку;
* документи для завантаження.
 
== Панель адміністратора ==
 
Адміністратор або оператор має керувати всіма об’єктами системи.
 
== В адмін-панелі потрібно бачити ==
 
* клієнтів;
* активні послуги;
* прострочені послуги;
* рахунки;
* оплати;
* домени, що завершуються;
* сервери;
* тарифи;
* сповіщення;
* тікети підтримки;
* фінансову статистику.
 
== Тікети підтримки, опціонально ==
 
Модуль може містити просту систему звернень.
 
== Поля тікета ==
 
{| class="wikitable" style="width:100%;"
! Поле
! Опис
|-
| Клієнт
| Хто звернувся
|-
| Послуга
| До якої послуги звернення
|-
| Тема
| Короткий опис
|-
| Опис
| Деталі звернення
|-
| Пріоритет
| Низький, середній, високий, критичний
|-
| Статус
| Новий, в роботі, очікує клієнта, закритий
|-
| Відповідальний
| Оператор або адміністратор
|}


Необхідно:
== SLA, опціонально ==


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


== Основні завдання ==
== SLA може містити ==


=== 1. Структура довідників ===
* час реакції;
* час вирішення;
* рівень доступності;
* пріоритет підтримки;
* відповідального менеджера;
* спеціальні умови договору.


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


* ПІБ або назва компанії;
Система має підтримувати email або внутрішні повідомлення.
* email;
* телефон;
* дата реєстрації;
* контактна особа.


==== Довідник «Тарифні плани» ====
== Події для сповіщень ==
Поля довідника:


* назва тарифу;
* створено нову послугу;
* тип послуги:
* виставлено рахунок;
** хостинг;
* рахунок оплачено;
** VPS / VDS;
* платіж не пройшов;
** оренда сервера;
* послуга завершується через 30 днів;
** домени;
* послуга завершується через 7 днів;
* опис послуги;
* послуга прострочена;
* вартість на місяць / рік;
* домен завершується;
* технічні характеристики:
* домен прострочений;
** дисковий простір;
* послугу продовжено;
** RAM;
* послугу призупинено;
** CPU;
* створено тікет підтримки;
** інші параметри.
* відповідь у тікеті підтримки.


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


* назва сервера;
== Звіт «Активні послуги» ==
* локація — датацентр;
* тип сервера:
** Shared;
** VPS;
** Dedicated;
* статус:
** активний;
** на обслуговуванні;
** виведений;
* IP-адреса або пул адрес.


=== 2. База «Послуги клієнтів» ===
У звіті потрібно відображати:


==== Колонки бази ====
* клієнта;
* тип послуги;
* тариф;
* сервер;
* дату початку;
* дату завершення;
* статус;
* суму оплати.


* клієнт;
== Звіт «Послуги, що завершуються» ==
* тип послуги:
** хостинг;
** VPS;
** домен;
* тарифний план;
* сервер — для VPS / Dedicated;
* домен — якщо зареєстровано;
* дата початку;
* дата завершення;
* статус:
** активна;
** припинена;
** очікує оплату;
* період оплати:
** місяць;
** рік.


==== Функціонал ====
У звіті потрібно відображати:


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


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


==== Колонки бази ====
У звіті потрібно відображати:


* доменне ім'я;
* домен;
* клієнт;
* клієнта;
* реєстратор;
* реєстратора;
* дата реєстрації;
* дату завершення;
* дата завершення;
* статус;
* статус:
* наявність рахунку на продовження.
** активний;
** протермінований;
* DNS-сервери.


==== Функціонал ====
== Звіт «Доходи по тарифах» ==


* реєстрація нового домену;
У звіті потрібно відображати:
* відстеження строку дії домену;
* сповіщення клієнта за:
** 30 днів до завершення;
** 15 днів до завершення;
** 7 днів до завершення.


=== 4. Оплата і рахунки ===
* тариф;
Функціонал:
* кількість активних послуг;
* суму нарахувань;
* суму оплат;
* частку в загальному доході.


* генерація рахунків на оплату послуг;
== Звіт «Борги клієнтів» ==
* автоматична генерація рахунків для продовження на основі періоду;
* стан оплати:
** оплачено;
** очікує оплату;
** прострочено;
* підтримка кількох способів оплати:
** Stripe;
** LiqPay;
** PayPal;
** вручну;
* можливість створення актів / рахунків у PDF.


=== 5. Додаткові функції ===
У звіті потрібно відображати:


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


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


== Критерії оцінки ==
== Рекомендовані сутності бази даних ==
{| class="wikitable"
 
!Критерій
Для реалізації задачі доцільно передбачити такі сутності:
!Бали
 
* клієнти;
* контактні особи;
* тарифні плани;
* сервери;
* IP-адреси;
* послуги клієнтів;
* домени;
* DNS-записи;
* рахунки;
* позиції рахунків;
* оплати;
* продовження послуг;
* сповіщення;
* тікети підтримки;
* SLA;
* журнал змін;
* звіти;
* права доступу.
 
== Практичне завдання ==
 
У межах атестації потрібно продемонструвати робочий сценарій.
 
Мінімальний сценарій:
 
# створити клієнта;
# створити тарифний план;
# створити сервер;
# створити IP-адресу;
# створити послугу клієнта;
# прив’язати послугу до тарифу;
# прив’язати послугу до сервера;
# створити домен клієнта;
# сформувати рахунок на оплату;
# зафіксувати часткову оплату;
# перевірити борг по рахунку;
# зафіксувати повну оплату;
# змінити статус послуги на '''«Активна»''';
# виконати продовження послуги;
# перевірити зміну дати завершення;
# створити нагадування про завершення домену;
# сформувати звіт активних послуг;
# сформувати звіт послуг, що завершуються;
# сформувати звіт боргів клієнтів;
# перевірити особистий кабінет клієнта;
# перевірити журнал змін.
 
== Критерії оцінювання ==
 
{| class="wikitable" style="width:100%;"
! Критерій
! Бали
! Що перевіряється
|-
| Реалізація бази клієнтів, послуг, тарифів і доменів
| 20
| Клієнти, тарифи, сервери, IP-адреси, послуги клієнтів, домени, DNS
|-
|-
|Реалізація бази клієнтів, послуг, тарифів і доменів
| Управління оплатами і рахунками
|20
| 20
| Рахунки, позиції рахунків, часткові оплати, повні оплати, борги, PDF-документи
|-
|-
|Управління оплатами і рахунками
| Контроль продовження послуг і сповіщення
|20
| 20
| Дати завершення, автопродовження, нагадування, прострочені послуги, завершення доменів
|-
|-
|Контроль продовження послуг і сповіщення
| Інтерактивність через AJAX і особисті кабінети
|20
| 20
| AJAX-пошук, створення послуг, оплати, продовження, кабінет клієнта, тікети
|-
|-
|Інтерактивність через AJAX і особисті кабінети
| Масштабованість системи для великої кількості клієнтів
|20
| 20
| Фільтри, звіти, сервери, масове продовження, обробка великої кількості послуг
|-
|-
|Масштабованість системи для великої кількості клієнтів
! Разом
|20
! 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.
Модуль має підтримувати клієнтів, контактних осіб, тарифні плани, сервери, IP-адреси, послуги клієнтів, домени, DNS-записи, рахунки, оплати, продовження, сповіщення, особистий кабінет, тікети підтримки, SLA, звіти, AJAX-інтерактив і журнал змін.


== Примітка ==
== Примітка ==
ERP для хостинг-провайдера — критично важлива для:


* обліку клієнтів;
ERP для хостинг-провайдера є критично важливою для обліку клієнтів, своєчасного виставлення рахунків, контролю продовжень, запобігання простроченню доменів і послуг, а також для зменшення ручної роботи операторів.
* своєчасного виставлення рахунків;
 
* запобігання простроченню послуг;
Якісне управління послугами підвищує лояльність клієнтів, зменшує кількість помилок і дозволяє масштабувати бізнес без хаосу в оплатах та строках дії послуг.
* оптимізації роботи операторів.
 
== Коротко ==
 
{| class="wikitable" style="width:100%;"
! Питання
! Відповідь
|-
| Що потрібно створити?
| Модуль обліку хостинг-провайдера
|-
| Які довідники потрібні?
| Клієнти, тарифи, сервери, IP-адреси, домени
|-
| Який головний процес?
| Створення послуги, виставлення рахунку, оплата і продовження
|-
| Що потрібно контролювати?
| Дати завершення послуг, домени, рахунки, борги, статуси оплат
|-
| Які документи потрібні?
| Рахунки, акти, PDF-документи, звіти
|-
| Які звіти потрібні?
| Активні послуги, послуги що завершуються, домени, борги, доходи, сервери
|-
| Що є критичною вимогою?
| Оплата має змінювати статус рахунку і продовжувати послугу за правилами системи
|-
| Що бажано додати?
| Особистий кабінет клієнта, тікети підтримки, SLA, DNS, інтеграції з оплатами і панелями хостингу
|}
 
== Див. також ==


Якісне управління послугами:
* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Атестаційні завдання K2 ERP]]
* [[Датацентр, інтернет-провайдер]]
* [[Реєстратор доменів]]
* [[CRM]]
* [[Каса]]
* [[Договір]]
* [[Рахунок на оплату]]
* [[Особистий кабінет]]
* [[DNS]]
* [[VPS]]
* [[SLA]]
* [[AJAX]]


* збільшує лояльність клієнтів;
[[Категорія:K2 ERP]]
* зменшує витрати.
[[Категорія:Атестаційні завдання K2]]
[[Категорія:Хостинг]]
[[Категорія:Датацентр]]
[[Категорія:Білінг]]
[[Категорія:Домени]]
[[Категорія:CRM]]
[[Категорія:Корпоративна Wiki]]