Атестаційні завдання 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 модуль для автоматизації роботи салону краси, перукарні, барбершопу, косметологічного кабінету, SPA-салону, масажного кабінету або nail-студії. | |||
Система повинна дозволяти: | |||
* вести клієнтів; | |||
* вести майстрів; | |||
* вести послуги; | |||
* вести категорії послуг; | |||
* налаштовувати графіки роботи майстрів; | |||
* створювати записи клієнтів на візити; | |||
* перевіряти зайнятість майстра; | |||
* змінювати дату, час або майстра в записі; | |||
* вести календар записів; | |||
* фіксувати виконані послуги; | |||
* формувати рахунок за послуги; | |||
* продавати супутні товари; | |||
* фіксувати оплату готівкою, карткою або безготівково; | |||
* вести історію відвідувань клієнта; | |||
* надсилати нагадування про візит; | |||
* підтримувати бонуси, знижки та акції; | |||
* формувати звіти по доходах, майстрах, клієнтах і послугах. | |||
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;"> | |||
'''Головний принцип.''' Запис клієнта має бути створений тільки на вільний час майстра. Після виконання послуги система повинна сформувати рахунок, зафіксувати оплату і зберегти візит в історії клієнта. | |||
</div> | |||
== Реальний бізнес-контекст == | == Реальний бізнес-контекст == | ||
* послуги | Салон краси працює з постійними та новими клієнтами, приймає записи заздалегідь, планує роботу майстрів, продає послуги й супутні товари. | ||
* | |||
* | У салоні можуть працювати: | ||
* | |||
* перукарі; | |||
* барбери; | |||
* косметологи; | |||
* масажисти; | |||
* nail-майстри; | |||
* візажисти; | |||
* майстри брів і вій; | |||
* адміністратори; | |||
* касири; | |||
* керівник салону. | |||
Для бізнесу важливо бачити, хто записаний на сьогодні, який майстер зайнятий, скільки часу триває процедура, хто з клієнтів не прийшов, які послуги найпопулярніші, скільки заробив кожен майстер і яка загальна виручка салону. | |||
== Основний бізнес-процес == | |||
Типовий процес роботи салону виглядає так: | |||
# адміністратор створює клієнта або знаходить його в базі; | |||
# обирає послугу; | |||
# система визначає тривалість і базову ціну послуги; | |||
# адміністратор обирає майстра; | |||
# система показує вільний час майстра; | |||
# створюється запис на візит; | |||
# клієнт отримує підтвердження або нагадування; | |||
# у день візиту майстер виконує послугу; | |||
# статус запису змінюється на '''«Виконано»'''; | |||
# формується рахунок; | |||
# до рахунку можуть додаватися супутні товари; | |||
# клієнт оплачує рахунок; | |||
# візит потрапляє в історію клієнта; | |||
# дані потрапляють у звіти. | |||
== Основні об’єкти модуля == | |||
{| class="wikitable" style="width:100%;" | |||
! Об’єкт | |||
! Призначення | |||
|- | |||
| Клієнти | |||
| База відвідувачів салону | |||
|- | |||
| Майстри | |||
| Працівники, які виконують послуги | |||
|- | |||
| Послуги | |||
| Стрижка, манікюр, масаж, косметологія та інші процедури | |||
|- | |||
| Категорії послуг | |||
| Перукарня, косметологія, нігтьовий сервіс, масаж | |||
|- | |||
| Графіки роботи | |||
| Дні й години доступності майстрів | |||
|- | |||
| Записи клієнтів | |||
| Планові візити клієнтів | |||
|- | |||
| Календар записів | |||
| Візуальний графік по майстрах і датах | |||
|- | |||
| Рахунки | |||
| Документи для оплати послуг і товарів | |||
|- | |||
| Оплати | |||
| Факт отримання коштів | |||
|- | |||
| Товари | |||
| Косметика, аксесуари, доглядові засоби | |||
|- | |||
| Продажі товарів | |||
| Реалізація супутніх товарів клієнтам | |||
|- | |||
| Бонуси і знижки | |||
| Програма лояльності | |||
|- | |||
| Сповіщення | |||
| Нагадування про записи та акції | |||
|- | |||
| Звіти | |||
| Аналітика по доходах, майстрах, клієнтах і послугах | |||
|} | |||
== Довідник «Категорії послуг» == | |||
Категорії допомагають структурувати послуги салону. | |||
== Приклади категорій == | |||
* перукарня; | |||
* барбершоп; | |||
* косметологія; | |||
* нігтьовий сервіс; | |||
* масаж; | |||
* SPA; | |||
* візаж; | |||
* брови та вії; | |||
* депіляція; | |||
* доглядові процедури. | |||
== Довідник «Послуги» == | |||
Довідник послуг містить усі процедури, які надає салон. | |||
== Приклади послуг == | |||
* жіноча стрижка; | |||
* чоловіча стрижка; | |||
* фарбування волосся; | |||
* укладка; | |||
* манікюр; | |||
* педикюр; | |||
* покриття гель-лаком; | |||
* масаж; | |||
* чистка обличчя; | |||
* доглядова процедура; | |||
* корекція брів; | |||
* ламінування вій. | |||
== Поля послуги == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Назва послуги | |||
| Наприклад: Стрижка, Манікюр, Масаж | |||
|- | |||
| Категорія | |||
| Перукарня, косметологія, нігтьовий сервіс тощо | |||
|- | |||
| Тривалість | |||
| Планова тривалість у хвилинах | |||
|- | |||
| Базова ціна | |||
| Стандартна вартість послуги | |||
|- | |||
| Опис | |||
| Коротке пояснення послуги | |||
|- | |||
| Статус | |||
| Активна або недоступна | |||
|} | |||
== Довідник «Майстри» == | |||
Довідник майстрів містить працівників, які надають послуги клієнтам. | |||
== Поля майстра == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я майстра | |||
|- | |||
| Спеціалізація | |||
| Перукар, косметолог, nail-майстер, масажист | |||
|- | |||
| Телефон | |||
| Контактний номер | |||
|- | |||
| Email | |||
| Електронна адреса | |||
|- | |||
| Фото | |||
| Опціонально | |||
|- | |||
| Графік роботи | |||
| Дні й години роботи | |||
|- | |||
| Статус | |||
| Активний, у відпустці, неактивний, звільнений | |||
|- | |||
| Коментар | |||
| Службові примітки | |||
|} | |||
== Послуги майстра == | |||
Не кожен майстер виконує всі послуги. Потрібно передбачити прив’язку майстра до послуг. | |||
== Приклад == | |||
* майстер А виконує стрижки й фарбування; | |||
* майстер Б виконує манікюр і педикюр; | |||
* майстер В виконує масаж. | |||
== Графік роботи майстра == | |||
Графік визначає, коли майстер доступний для запису. | |||
== Дані графіка == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| Майстер | |||
| Для кого налаштовується графік | |||
|- | |||
| День тижня | |||
| Понеділок, вівторок тощо | |||
|- | |||
| Час початку | |||
| Початок робочого дня | |||
|- | |||
| Час завершення | |||
| Завершення робочого дня | |||
|- | |||
| Перерва | |||
| Опціонально | |||
|- | |||
| Статус дня | |||
| Робочий, вихідний, відпустка, лікарняний | |||
|} | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Критично.''' Система не повинна дозволяти створювати запис на час, коли майстер не працює або вже зайнятий іншим клієнтом. | |||
</div> | |||
== Довідник «Клієнти» == | |||
Довідник клієнтів містить базу відвідувачів салону. | |||
== Поля клієнта == | |||
{| class="wikitable" style="width:100%;" | |||
! Поле | |||
! Опис | |||
|- | |||
| ПІБ | |||
| Повне ім’я клієнта | |||
|- | |||
| Телефон | |||
| Основний контактний номер | |||
|- | |||
| Email | |||
| Для повідомлень і акцій | |||
|- | |||
| Дата народження | |||
| Для привітань і знижок | |||
|- | |||
| Статус | |||
| Новий, постійний, VIP, неактивний | |||
|- | |||
| Бонусний баланс | |||
| Якщо реалізовано програму лояльності | |||
|- | |||
| Коментар | |||
| Побажання, алергії, особливості обслуговування | |||
|} | |||
== Історія відвідувань клієнта == | |||
У картці клієнта потрібно бачити: | |||
* дату візиту; | |||
* майстра; | |||
* послугу; | |||
* суму; | |||
* статус візиту; | |||
* товари, які купував клієнт; | |||
* коментар майстра або адміністратора. | |||
== База «Записи клієнтів» == | |||
Запис фіксує майбутній або виконаний візит клієнта. | |||
== Колонки журналу записів == | |||
{| 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%;" | |||
! Статус | |||
! Значення | |||
|- | |||
| Не оплачено | |||
| Рахунок ще не оплачений | |||
|- | |||
| Частково оплачено | |||
| Оплачена частина суми | |||
|- | |||
| Оплачено | |||
| Сума сплачена повністю | |||
|- | |||
| Повернення | |||
| Оплату повернено клієнту | |||
|} | |||
== Бонуси і знижки == | |||
Опціонально модуль може підтримувати програму лояльності. | |||
== Варіанти лояльності == | |||
* знижка постійному клієнту; | |||
* знижка в День народження; | |||
* накопичення бонусних балів; | |||
* списання бонусів при оплаті; | |||
* акційні пропозиції; | |||
* абонементи; | |||
* подарункові сертифікати. | |||
== Сповіщення клієнтам == | |||
Система має надсилати повідомлення клієнтам. | |||
== Події для сповіщень == | |||
* створено запис; | |||
* запис підтверджено; | |||
* нагадування за день до візиту; | |||
* нагадування за кілька годин до візиту; | |||
* запис змінено; | |||
* запис скасовано; | |||
* нараховано бонуси; | |||
* привітання з Днем народження; | |||
* акційна пропозиція. | |||
== | == Звіти == | ||
==== | == Звіт «Візити клієнтів» == | ||
Звіт показує історію відвідувань. | |||
У звіті потрібно відображати: | |||
* | * клієнта; | ||
* | * кількість візитів; | ||
* | * останній візит; | ||
* | * суму оплат; | ||
* | * улюблені послуги; | ||
* статус клієнта. | |||
* | |||
==== | == Звіт «Доходи по майстрах» == | ||
Звіт показує результат роботи майстрів. | |||
У звіті потрібно відображати: | |||
* майстра; | |||
* кількість виконаних послуг; | |||
* кількість клієнтів; | |||
* суму доходу; | |||
* середній чек; | |||
* кількість скасувань; | |||
* кількість неявок. | |||
== Звіт «Популярні послуги» == | |||
Звіт показує, які послуги замовляють найчастіше. | |||
У звіті потрібно відображати: | |||
* послугу; | |||
* категорію; | |||
* кількість виконань; | |||
* суму доходу; | |||
* середню ціну. | |||
== | == Звіт «Завантаженість майстрів» == | ||
* | Звіт показує, наскільки заповнений графік майстрів. | ||
* | |||
* | У звіті потрібно відображати: | ||
* | |||
* | * майстра; | ||
* робочі години; | |||
* зайняті години; | |||
* вільні години; | |||
* відсоток завантаженості. | |||
== Звіт «Продажі товарів» == | |||
Якщо реалізовано продаж товарів, звіт показує товарообіг. | |||
У звіті потрібно відображати: | |||
* товар; | |||
* кількість продажів; | |||
* суму продажів; | |||
* клієнтів; | |||
* майстра або адміністратора, який продав товар. | |||
== 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 для вибору клієнта, майстра і послуги, FullCalendar для графіка візитів | ||
|- | |- | ||
| | | Сповіщення | ||
| | | Email, SMS або месенджери, залежно від реалізації | ||
|- | |- | ||
|Друк | | Друк | ||
| | | PDF-рахунки, чеки або квитанції | ||
|- | |||
| Склад | |||
| Облік товарів і залишків, опціонально | |||
|- | |||
| Експорт | |||
| Excel або PDF для звітів | |||
|} | |} | ||
== Критерії | == Рекомендовані сутності бази даних == | ||
{| class="wikitable" | |||
!Критерій | Для реалізації задачі доцільно передбачити такі сутності: | ||
!Бали | |||
* клієнти; | |||
* майстри; | |||
* категорії послуг; | |||
* послуги; | |||
* послуги майстрів; | |||
* графіки роботи; | |||
* записи клієнтів; | |||
* статуси записів; | |||
* календар; | |||
* рахунки; | |||
* оплати; | |||
* товари; | |||
* продажі товарів; | |||
* бонуси; | |||
* знижки; | |||
* акції; | |||
* сповіщення; | |||
* журнал змін; | |||
* звіти; | |||
* права доступу. | |||
== Практичне завдання == | |||
У межах атестації потрібно продемонструвати робочий сценарій. | |||
Мінімальний сценарій: | |||
# створити категорії послуг; | |||
# створити послуги з тривалістю і ціною; | |||
# створити майстрів; | |||
# прив’язати майстрів до послуг; | |||
# налаштувати графік роботи майстра; | |||
# створити клієнта; | |||
# створити запис клієнта на послугу; | |||
# перевірити, що час майстра зайнятий; | |||
# спробувати створити другий запис на той самий час; | |||
# перевірити заборону подвійного запису; | |||
# змінити час запису; | |||
# змінити статус запису на '''«Виконано»'''; | |||
# сформувати рахунок; | |||
# додати товар до рахунку, якщо продажі товарів реалізовано; | |||
# застосувати знижку або бонуси, якщо реалізовано; | |||
# зафіксувати оплату; | |||
# перевірити історію відвідувань клієнта; | |||
# сформувати звіт візитів клієнтів; | |||
# сформувати звіт доходів по майстрах; | |||
# сформувати звіт популярних послуг; | |||
# сформувати звіт завантаженості майстрів; | |||
# перевірити журнал змін. | |||
== Критерії оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Критерій | |||
! Бали | |||
! Що перевіряється | |||
|- | |- | ||
|Реалізація бази послуг, клієнтів і майстрів | | Реалізація бази послуг, клієнтів і майстрів | ||
|20 | | 20 | ||
| Послуги, категорії, майстри, клієнти, графіки, прив’язка майстрів до послуг | |||
|- | |- | ||
|Управління записами на візити | | Управління записами на візити | ||
|20 | | 20 | ||
| Створення запису, календар, перевірка зайнятості, зміна часу, статуси записів | |||
|- | |- | ||
|Облік оплат і продажів | | Облік оплат і продажів | ||
|20 | | 20 | ||
| Рахунки, оплати, товари, продажі, знижки, бонуси, історія відвідувань | |||
|- | |- | ||
|Звіти по доходах, популярності послуг і майстрам | | Звіти по доходах, популярності послуг і майстрам | ||
|20 | | 20 | ||
| Візити клієнтів, доходи по майстрах, популярні послуги, завантаженість майстрів | |||
|- | |- | ||
|Інтерактивність через AJAX і зручність календаря | | Інтерактивність через AJAX і зручність календаря | ||
|20 | | 20 | ||
| AJAX-запис, зміна статусів, перевірка часу, оновлення календаря, фільтрація звітів | |||
|- | |||
! Разом | |||
! 100 | |||
! Максимальна оцінка | |||
|} | |} | ||
== Шкала оцінювання == | |||
{| class="wikitable" style="width:100%;" | |||
! Бали | |||
! Рівень | |||
! Опис | |||
|- | |||
| 90–100 | |||
| Відмінно | |||
| Модуль повністю працює: клієнти, майстри, послуги, графіки, записи, календар, оплати, товари, бонуси, звіти й AJAX реалізовані коректно | |||
|- | |||
| 75–89 | |||
| Добре | |||
| Основна логіка працює, є незначні недоліки, які не руйнують процес запису й обслуговування клієнтів | |||
|- | |||
| 60–74 | |||
| Зараховано | |||
| Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання | |||
|- | |||
| 0–59 | |||
| Не зараховано | |||
| Відсутня критична логіка: клієнти, майстри, послуги, записи, календар або оплати | |||
|} | |||
== Критичні помилки == | |||
Критичними помилками вважаються ситуації, коли: | |||
* неможливо створити клієнта; | |||
* неможливо створити майстра; | |||
* неможливо створити послугу; | |||
* послуга не має тривалості або ціни; | |||
* неможливо створити запис; | |||
* запис не прив’язується до клієнта; | |||
* запис не прив’язується до майстра; | |||
* система дозволяє запис на неробочий час майстра; | |||
* система дозволяє два записи до одного майстра на один і той самий час; | |||
* запис не відображається в календарі; | |||
* неможливо змінити статус запису; | |||
* рахунок не формується; | |||
* оплата не прив’язується до рахунку; | |||
* історія відвідувань клієнта не оновлюється; | |||
* звіти не відповідають фактичним записам і оплатам; | |||
* зміни записів, оплат і бонусів не логуються. | |||
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;"> | |||
'''Умова складання.''' Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл салону краси: клієнт → майстер → послуга → запис → виконання → рахунок → оплата → історія → звіт. | |||
</div> | |||
== Очікуваний результат == | |||
У результаті виконання атестаційного завдання має бути створений модуль салону краси в K2 ERP. | |||
Модуль має підтримувати клієнтів, майстрів, категорії послуг, послуги, графіки роботи, записи, календар візитів, перевірку зайнятості, рахунки, оплати, продаж товарів, бонуси, знижки, сповіщення, звіти, AJAX-інтерактив і логування змін. | |||
== Примітка == | == Примітка == | ||
ERP для салонів краси потрібна перукарням, барбершопам, косметологічним кабінетам, SPA-салонам, масажним кабінетам, nail-студіям і мережам салонів. | |||
Автоматизація записів і оплат підвищує якість сервісу, зменшує кількість помилок, допомагає краще планувати роботу майстрів, контролювати фінанси та збільшувати лояльність клієнтів. | |||
== Коротко == | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
! Відповідь | |||
|- | |||
| Що потрібно створити? | |||
| Модуль обліку салону краси | |||
|- | |||
| Які довідники потрібні? | |||
| Клієнти, майстри, послуги, категорії послуг, графіки роботи | |||
|- | |||
| Який головний процес? | |||
| Запис клієнта до майстра на послугу | |||
|- | |||
| Що має перевіряти система? | |||
| Вільний час майстра і його графік роботи | |||
|- | |||
| Що формується після візиту? | |||
| Рахунок за послуги й товари | |||
|- | |||
| Які звіти потрібні? | |||
| Візити клієнтів, доходи по майстрах, популярні послуги, завантаженість майстрів | |||
|- | |||
| Що є критичною вимогою? | |||
| Не можна створити два записи до одного майстра на один і той самий час | |||
|- | |||
| Що бажано додати? | |||
| Бонуси, знижки, продаж товарів, SMS-нагадування, онлайн-запис | |||
|} | |||
== Див. також == | |||
* [[K2 Cloud ERP|K2 ERP]] | |||
* [[K2 ERP]] | |||
* [[Атестаційні завдання K2 ERP]] | |||
* [[CRM]] | |||
* [[Каса]] | |||
* [[Складський облік]] | |||
* [[Бронювання]] | |||
* [[Клієнт]] | |||
* [[Послуга]] | |||
* [[Календар]] | |||
* [[Оплата]] | |||
* [[Знижки]] | |||
* [[Бонуси]] | |||
* [[AJAX]] | |||
[[Категорія:K2 ERP]] | |||
[[Категорія:Атестаційні завдання K2]] | |||
[[Категорія:Салон краси]] | |||
[[Категорія:CRM]] | |||
[[Категорія:Каса]] | |||
[[Категорія:Бронювання]] | |||
[[Категорія:Корпоративна Wiki]] | |||
Поточна версія на 20:15, 1 травня 2026
Атестаційне завдання K2 ERP — Салон краси — це практична задача для перевірки навичок розробника або впроваджувача K2 ERP у створенні модуля обліку клієнтів, майстрів, послуг, записів, календаря візитів, оплат, продажів товарів і звітності для салону краси.
Модуль має забезпечувати повний цикл роботи салону: створення клієнтської бази, ведення послуг і майстрів, онлайн- та офлайн-запис, перевірку зайнятості майстрів, облік виконаних послуг, продаж супутніх товарів, оплату, бонуси, знижки, сповіщення та звіти по доходах і завантаженості.
Коротко. Потрібно реалізувати модуль салону краси: клієнти, майстри, послуги, графіки роботи, записи на візит, календар, оплати, продаж товарів, бонуси, знижки, нагадування клієнтам, звіти по доходах, майстрах і популярних послугах.
Назва завдання
Модуль обліку записів клієнтів, майстрів, послуг і фінансів для салону краси.
Мета завдання
Мета завдання — створити в K2 ERP модуль для автоматизації роботи салону краси, перукарні, барбершопу, косметологічного кабінету, SPA-салону, масажного кабінету або nail-студії.
Система повинна дозволяти:
- вести клієнтів;
- вести майстрів;
- вести послуги;
- вести категорії послуг;
- налаштовувати графіки роботи майстрів;
- створювати записи клієнтів на візити;
- перевіряти зайнятість майстра;
- змінювати дату, час або майстра в записі;
- вести календар записів;
- фіксувати виконані послуги;
- формувати рахунок за послуги;
- продавати супутні товари;
- фіксувати оплату готівкою, карткою або безготівково;
- вести історію відвідувань клієнта;
- надсилати нагадування про візит;
- підтримувати бонуси, знижки та акції;
- формувати звіти по доходах, майстрах, клієнтах і послугах.
Головний принцип. Запис клієнта має бути створений тільки на вільний час майстра. Після виконання послуги система повинна сформувати рахунок, зафіксувати оплату і зберегти візит в історії клієнта.
Реальний бізнес-контекст
Салон краси працює з постійними та новими клієнтами, приймає записи заздалегідь, планує роботу майстрів, продає послуги й супутні товари.
У салоні можуть працювати:
- перукарі;
- барбери;
- косметологи;
- масажисти;
- nail-майстри;
- візажисти;
- майстри брів і вій;
- адміністратори;
- касири;
- керівник салону.
Для бізнесу важливо бачити, хто записаний на сьогодні, який майстер зайнятий, скільки часу триває процедура, хто з клієнтів не прийшов, які послуги найпопулярніші, скільки заробив кожен майстер і яка загальна виручка салону.
Основний бізнес-процес
Типовий процес роботи салону виглядає так:
- адміністратор створює клієнта або знаходить його в базі;
- обирає послугу;
- система визначає тривалість і базову ціну послуги;
- адміністратор обирає майстра;
- система показує вільний час майстра;
- створюється запис на візит;
- клієнт отримує підтвердження або нагадування;
- у день візиту майстер виконує послугу;
- статус запису змінюється на «Виконано»;
- формується рахунок;
- до рахунку можуть додаватися супутні товари;
- клієнт оплачує рахунок;
- візит потрапляє в історію клієнта;
- дані потрапляють у звіти.
Основні об’єкти модуля
| Об’єкт | Призначення |
|---|---|
| Клієнти | База відвідувачів салону |
| Майстри | Працівники, які виконують послуги |
| Послуги | Стрижка, манікюр, масаж, косметологія та інші процедури |
| Категорії послуг | Перукарня, косметологія, нігтьовий сервіс, масаж |
| Графіки роботи | Дні й години доступності майстрів |
| Записи клієнтів | Планові візити клієнтів |
| Календар записів | Візуальний графік по майстрах і датах |
| Рахунки | Документи для оплати послуг і товарів |
| Оплати | Факт отримання коштів |
| Товари | Косметика, аксесуари, доглядові засоби |
| Продажі товарів | Реалізація супутніх товарів клієнтам |
| Бонуси і знижки | Програма лояльності |
| Сповіщення | Нагадування про записи та акції |
| Звіти | Аналітика по доходах, майстрах, клієнтах і послугах |
Довідник «Категорії послуг»
Категорії допомагають структурувати послуги салону.
Приклади категорій
- перукарня;
- барбершоп;
- косметологія;
- нігтьовий сервіс;
- масаж;
- SPA;
- візаж;
- брови та вії;
- депіляція;
- доглядові процедури.
Довідник «Послуги»
Довідник послуг містить усі процедури, які надає салон.
Приклади послуг
- жіноча стрижка;
- чоловіча стрижка;
- фарбування волосся;
- укладка;
- манікюр;
- педикюр;
- покриття гель-лаком;
- масаж;
- чистка обличчя;
- доглядова процедура;
- корекція брів;
- ламінування вій.
Поля послуги
| Поле | Опис |
|---|---|
| Назва послуги | Наприклад: Стрижка, Манікюр, Масаж |
| Категорія | Перукарня, косметологія, нігтьовий сервіс тощо |
| Тривалість | Планова тривалість у хвилинах |
| Базова ціна | Стандартна вартість послуги |
| Опис | Коротке пояснення послуги |
| Статус | Активна або недоступна |
Довідник «Майстри»
Довідник майстрів містить працівників, які надають послуги клієнтам.
Поля майстра
| Поле | Опис |
|---|---|
| ПІБ | Повне ім’я майстра |
| Спеціалізація | Перукар, косметолог, nail-майстер, масажист |
| Телефон | Контактний номер |
| Електронна адреса | |
| Фото | Опціонально |
| Графік роботи | Дні й години роботи |
| Статус | Активний, у відпустці, неактивний, звільнений |
| Коментар | Службові примітки |
Послуги майстра
Не кожен майстер виконує всі послуги. Потрібно передбачити прив’язку майстра до послуг.
Приклад
- майстер А виконує стрижки й фарбування;
- майстер Б виконує манікюр і педикюр;
- майстер В виконує масаж.
Графік роботи майстра
Графік визначає, коли майстер доступний для запису.
Дані графіка
| Поле | Опис |
|---|---|
| Майстер | Для кого налаштовується графік |
| День тижня | Понеділок, вівторок тощо |
| Час початку | Початок робочого дня |
| Час завершення | Завершення робочого дня |
| Перерва | Опціонально |
| Статус дня | Робочий, вихідний, відпустка, лікарняний |
Критично. Система не повинна дозволяти створювати запис на час, коли майстер не працює або вже зайнятий іншим клієнтом.
Довідник «Клієнти»
Довідник клієнтів містить базу відвідувачів салону.
Поля клієнта
| Поле | Опис |
|---|---|
| ПІБ | Повне ім’я клієнта |
| Телефон | Основний контактний номер |
| Для повідомлень і акцій | |
| Дата народження | Для привітань і знижок |
| Статус | Новий, постійний, VIP, неактивний |
| Бонусний баланс | Якщо реалізовано програму лояльності |
| Коментар | Побажання, алергії, особливості обслуговування |
Історія відвідувань клієнта
У картці клієнта потрібно бачити:
- дату візиту;
- майстра;
- послугу;
- суму;
- статус візиту;
- товари, які купував клієнт;
- коментар майстра або адміністратора.
База «Записи клієнтів»
Запис фіксує майбутній або виконаний візит клієнта.
Колонки журналу записів
| Колонка | Опис |
|---|---|
| Клієнт | Хто записаний |
| Майстер | Хто виконує послугу |
| Послуга | Що буде виконано |
| Дата і час | Коли має відбутися візит |
| Тривалість | Планова тривалість |
| Статус | Записано, підтверджено, виконано, скасовано, не прийшов |
| Примітка | Побажання клієнта |
Поля запису
| Поле | Опис |
|---|---|
| Номер запису | Унікальний номер |
| Клієнт | Хто записується |
| Майстер | До кого запис |
| Послуга | Яка процедура виконується |
| Дата | Дата візиту |
| Час початку | Початок візиту |
| Час завершення | Розраховується за тривалістю послуги |
| Тривалість | У хвилинах |
| Ціна | Ціна послуги |
| Статус | Поточний стан запису |
| Коментар | Побажання клієнта або примітка адміністратора |
Статуси запису
| Статус | Значення |
|---|---|
| Новий | Запис створено |
| Підтверджено | Клієнт підтвердив візит |
| Очікує клієнта | Візит має початися найближчим часом |
| Виконується | Послуга зараз надається |
| Виконано | Послуга завершена |
| Скасовано | Запис скасований |
| Не прийшов | Клієнт не з’явився |
Перевірка зайнятості майстра
Перед створенням запису система повинна перевірити графік майстра.
Перевіряються умови
- майстер працює в обраний день;
- обраний час входить у робочий графік;
- послуга не виходить за межі робочого дня;
- у майстра немає іншого запису на цей час;
- майстер виконує обрану послугу.
Календар записів
Календар записів показує всі візити по днях і майстрах.
У календарі потрібно бачити
- записи по майстрах;
- вільні часові слоти;
- зайняті слоти;
- скасовані записи;
- записи, що не відбулися;
- виконані записи;
- тривалість візиту;
- ім’я клієнта;
- назву послуги.
Продажі товарів
Салон може продавати супутні товари.
Приклади товарів
- шампуні;
- маски для волосся;
- креми;
- засоби для догляду;
- косметика;
- аксесуари;
- подарункові сертифікати.
Поля товару
| Поле | Опис |
|---|---|
| Назва товару | Наприклад: Шампунь, Крем, Маска |
| Категорія | Косметика, догляд, аксесуари |
| Ціна | Роздрібна ціна |
| Залишок | Кількість на складі, якщо реалізовано |
| Статус | Активний або недоступний |
Облік оплат
Після виконання послуги формується рахунок.
Рахунок може включати
- одну або кілька послуг;
- товари;
- знижку;
- бонуси;
- подарунковий сертифікат;
- коментар адміністратора.
Способи оплати
- готівка;
- банківська картка;
- безготівковий розрахунок;
- змішана оплата;
- бонуси;
- сертифікат.
Статуси оплати
| Статус | Значення |
|---|---|
| Не оплачено | Рахунок ще не оплачений |
| Частково оплачено | Оплачена частина суми |
| Оплачено | Сума сплачена повністю |
| Повернення | Оплату повернено клієнту |
Бонуси і знижки
Опціонально модуль може підтримувати програму лояльності.
Варіанти лояльності
- знижка постійному клієнту;
- знижка в День народження;
- накопичення бонусних балів;
- списання бонусів при оплаті;
- акційні пропозиції;
- абонементи;
- подарункові сертифікати.
Сповіщення клієнтам
Система має надсилати повідомлення клієнтам.
Події для сповіщень
- створено запис;
- запис підтверджено;
- нагадування за день до візиту;
- нагадування за кілька годин до візиту;
- запис змінено;
- запис скасовано;
- нараховано бонуси;
- привітання з Днем народження;
- акційна пропозиція.
Звіти
Звіт «Візити клієнтів»
Звіт показує історію відвідувань.
У звіті потрібно відображати:
- клієнта;
- кількість візитів;
- останній візит;
- суму оплат;
- улюблені послуги;
- статус клієнта.
Звіт «Доходи по майстрах»
Звіт показує результат роботи майстрів.
У звіті потрібно відображати:
- майстра;
- кількість виконаних послуг;
- кількість клієнтів;
- суму доходу;
- середній чек;
- кількість скасувань;
- кількість неявок.
Звіт «Популярні послуги»
Звіт показує, які послуги замовляють найчастіше.
У звіті потрібно відображати:
- послугу;
- категорію;
- кількість виконань;
- суму доходу;
- середню ціну.
Звіт «Завантаженість майстрів»
Звіт показує, наскільки заповнений графік майстрів.
У звіті потрібно відображати:
- майстра;
- робочі години;
- зайняті години;
- вільні години;
- відсоток завантаженості.
Звіт «Продажі товарів»
Якщо реалізовано продаж товарів, звіт показує товарообіг.
У звіті потрібно відображати:
- товар;
- кількість продажів;
- суму продажів;
- клієнтів;
- майстра або адміністратора, який продав товар.
AJAX-інтерактив
Інтерфейс має працювати швидко й без перезавантаження сторінок.
Через AJAX мають працювати:
- пошук клієнта;
- створення запису;
- перевірка вільного часу майстра;
- зміна часу запису;
- зміна майстра;
- зміна статусу запису;
- оновлення календаря;
- додавання послуг до рахунку;
- додавання товарів до рахунку;
- фіксація оплати;
- нарахування бонусів;
- фільтрація звітів.
Логування змін
Модуль повинен фіксувати важливі дії.
Журнал змін має зберігати:
- хто створив клієнта;
- хто створив запис;
- хто змінив час запису;
- хто змінив майстра;
- хто скасував запис;
- хто змінив статус запису;
- хто сформував рахунок;
- хто зафіксував оплату;
- хто додав товар до продажу;
- хто нарахував або списав бонуси;
- дату й час дії;
- старе та нове значення, якщо це можливо.
Права доступу
Модуль має підтримувати розмежування прав.
| Роль | Можливості |
|---|---|
| Адміністратор салону | Створює клієнтів, записи, керує календарем, оплатами і сповіщеннями |
| Майстер | Бачить свій графік, свої записи, статуси візитів і коментарі клієнтів |
| Касир | Формує рахунки, приймає оплати, продає товари |
| Складський працівник | Керує товарами і залишками, якщо реалізовано склад |
| Керівник | Переглядає звіти по доходах, майстрах, послугах і клієнтах |
| Адміністратор системи | Налаштовує права, довідники, послуги, графіки, шаблони і службові параметри |
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| База даних | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript |
| AJAX | Fetch API або Axios |
| UI-компоненти | DataTables для таблиці записів, Select2 для вибору клієнта, майстра і послуги, FullCalendar для графіка візитів |
| Сповіщення | Email, SMS або месенджери, залежно від реалізації |
| Друк | PDF-рахунки, чеки або квитанції |
| Склад | Облік товарів і залишків, опціонально |
| Експорт | Excel або PDF для звітів |
Рекомендовані сутності бази даних
Для реалізації задачі доцільно передбачити такі сутності:
- клієнти;
- майстри;
- категорії послуг;
- послуги;
- послуги майстрів;
- графіки роботи;
- записи клієнтів;
- статуси записів;
- календар;
- рахунки;
- оплати;
- товари;
- продажі товарів;
- бонуси;
- знижки;
- акції;
- сповіщення;
- журнал змін;
- звіти;
- права доступу.
Практичне завдання
У межах атестації потрібно продемонструвати робочий сценарій.
Мінімальний сценарій:
- створити категорії послуг;
- створити послуги з тривалістю і ціною;
- створити майстрів;
- прив’язати майстрів до послуг;
- налаштувати графік роботи майстра;
- створити клієнта;
- створити запис клієнта на послугу;
- перевірити, що час майстра зайнятий;
- спробувати створити другий запис на той самий час;
- перевірити заборону подвійного запису;
- змінити час запису;
- змінити статус запису на «Виконано»;
- сформувати рахунок;
- додати товар до рахунку, якщо продажі товарів реалізовано;
- застосувати знижку або бонуси, якщо реалізовано;
- зафіксувати оплату;
- перевірити історію відвідувань клієнта;
- сформувати звіт візитів клієнтів;
- сформувати звіт доходів по майстрах;
- сформувати звіт популярних послуг;
- сформувати звіт завантаженості майстрів;
- перевірити журнал змін.
Критерії оцінювання
| Критерій | Бали | Що перевіряється |
|---|---|---|
| Реалізація бази послуг, клієнтів і майстрів | 20 | Послуги, категорії, майстри, клієнти, графіки, прив’язка майстрів до послуг |
| Управління записами на візити | 20 | Створення запису, календар, перевірка зайнятості, зміна часу, статуси записів |
| Облік оплат і продажів | 20 | Рахунки, оплати, товари, продажі, знижки, бонуси, історія відвідувань |
| Звіти по доходах, популярності послуг і майстрам | 20 | Візити клієнтів, доходи по майстрах, популярні послуги, завантаженість майстрів |
| Інтерактивність через AJAX і зручність календаря | 20 | AJAX-запис, зміна статусів, перевірка часу, оновлення календаря, фільтрація звітів |
| Разом | 100 | Максимальна оцінка |
Шкала оцінювання
| Бали | Рівень | Опис |
|---|---|---|
| 90–100 | Відмінно | Модуль повністю працює: клієнти, майстри, послуги, графіки, записи, календар, оплати, товари, бонуси, звіти й AJAX реалізовані коректно |
| 75–89 | Добре | Основна логіка працює, є незначні недоліки, які не руйнують процес запису й обслуговування клієнтів |
| 60–74 | Зараховано | Базовий сценарій працює, але частина функцій реалізована неповно або потребує доопрацювання |
| 0–59 | Не зараховано | Відсутня критична логіка: клієнти, майстри, послуги, записи, календар або оплати |
Критичні помилки
Критичними помилками вважаються ситуації, коли:
- неможливо створити клієнта;
- неможливо створити майстра;
- неможливо створити послугу;
- послуга не має тривалості або ціни;
- неможливо створити запис;
- запис не прив’язується до клієнта;
- запис не прив’язується до майстра;
- система дозволяє запис на неробочий час майстра;
- система дозволяє два записи до одного майстра на один і той самий час;
- запис не відображається в календарі;
- неможливо змінити статус запису;
- рахунок не формується;
- оплата не прив’язується до рахунку;
- історія відвідувань клієнта не оновлюється;
- звіти не відповідають фактичним записам і оплатам;
- зміни записів, оплат і бонусів не логуються.
Умова складання. Завдання не може бути зараховане, якщо система не дозволяє пройти базовий цикл салону краси: клієнт → майстер → послуга → запис → виконання → рахунок → оплата → історія → звіт.
Очікуваний результат
У результаті виконання атестаційного завдання має бути створений модуль салону краси в K2 ERP.
Модуль має підтримувати клієнтів, майстрів, категорії послуг, послуги, графіки роботи, записи, календар візитів, перевірку зайнятості, рахунки, оплати, продаж товарів, бонуси, знижки, сповіщення, звіти, AJAX-інтерактив і логування змін.
Примітка
ERP для салонів краси потрібна перукарням, барбершопам, косметологічним кабінетам, SPA-салонам, масажним кабінетам, nail-студіям і мережам салонів.
Автоматизація записів і оплат підвищує якість сервісу, зменшує кількість помилок, допомагає краще планувати роботу майстрів, контролювати фінанси та збільшувати лояльність клієнтів.
Коротко
| Питання | Відповідь |
|---|---|
| Що потрібно створити? | Модуль обліку салону краси |
| Які довідники потрібні? | Клієнти, майстри, послуги, категорії послуг, графіки роботи |
| Який головний процес? | Запис клієнта до майстра на послугу |
| Що має перевіряти система? | Вільний час майстра і його графік роботи |
| Що формується після візиту? | Рахунок за послуги й товари |
| Які звіти потрібні? | Візити клієнтів, доходи по майстрах, популярні послуги, завантаженість майстрів |
| Що є критичною вимогою? | Не можна створити два записи до одного майстра на один і той самий час |
| Що бажано додати? | Бонуси, знижки, продаж товарів, SMS-нагадування, онлайн-запис |