Зміст
Посібник користувача: як замовити няню, аніматора на свято або онлайн-консультацію, як виконавець знаходить заявку, відгукується і веде замовлення до оплати, що бачить адміністратор і які сповіщення приходять на кожному кроці. Застосунок для компаній не розглядається.
1. Бронювання: послуги, статуси, передумови
Бронювання — це замовлення послуги клієнтом (батьками) у виконавця (няні, аніматора, консультанта). Зараз на платформі можна забронювати три послуги. Кожна має власний майстер замовлення і свій шлях статусів, але логіка однакова: клієнт описує, що потрібно; виконавці відгукуються; клієнт обирає одного; виконавець надає послугу; оплата; взаємні оцінки.
1.1. Які послуги можна забронювати
| Послуга | Де замовляє клієнт | Як виконавець дізнається про заявку | Як формується ціна |
|---|---|---|---|
| Замовлення няні | «Бронювання» → «Замовити послугу» → картка «Замовлення няні» | Заявка з'являється в «Доступних заявках» у всіх нянь, які мають доступ до послуги, працюють у вибраній зоні й вільні в цей час | За тарифом системи або за власним тарифом няні («Мій тариф») — його няня обирає у відгуку. Базова ціна + ціна за годину × кількість годин, з коефіцієнтами (вихідні, нічний час тощо). Розраховує сервер. |
| Заходи та вечірки (аніматори) | Картка «Заходи та вечірки» | Запрошення в «Запрошеннях» — лише для аніматорів, яких клієнт обрав сам | Ціна пакета аніматора або його пропозиція. Передоплата — якщо аніматор вказав її у відгуку (1.7). |
| Онлайн-консультація з догляду | Картка «Онлайн-консультація з догляду» | Заявка з'являється в «Доступних заявках» у всіх консультантів, які мають доступ до послуги й вільні в цей час | За тарифом онлайн-консультації (адмінка → «Тарифи»): базова ціна + ціна за годину × тривалість, з коефіцієнтами тарифу. Початково 30 EUR/год (0,5 EUR/хв, 60 хв = 30 EUR), рахується від 15 хв. Розраховує сервер. |
Для няні в розрахунку клієнт бачить ціну за загальним тарифом платформи. Няня, у якої є власний тариф («Мій тариф»), може відгукнутися за ним: тоді клієнт бачить у відгуку її ціну, і саме вона стає ціною бронювання, якщо клієнт обере цю няню (розділ 2.2).
Назви коефіцієнтів (наприклад, «Нічна надбавка», «Надбавка за вихідні») задаються п'ятьма мовами: у формі коефіцієнта (адмінка → «Тарифи» → рядок тарифу → «Коефіцієнти», так само у «Мій тариф» виконавця) для кожної мови — своє поле, українська обов'язкова, решта за бажанням. Клієнт бачить назву в розрахунку ціни своєю мовою; якщо перекладу немає — українською. Таблиця коефіцієнтів показує назву мовою інтерфейсу.




Ціну завжди рахує сервер. Що б не надіслав браузер, бронювання отримує ціну за тарифом (няня, консультація) або з пакета чи пропозиції обраного виконавця (свято).

1.2. Статуси бронювання
Статус видно кольоровою позначкою в списках і на сторінці бронювання — у клієнта, виконавця й адміністратора однаково, мовою інтерфейсу.
| Статус | Що означає | Хто переводить далі |
|---|---|---|
| Чернетка | Бронювання створено, але ще не надіслано. Майстер надсилає заявку тим самим натисканням, тож «Чернетка» лишається, лише якщо надсилання не вдалося (наприклад, обірвався зв'язок). Таке бронювання можна скасувати. | Клієнт (надсилання) |
| Пошук виконавця | Заявку надіслано, виконавці відгукуються. Клієнт бачить відгуки на сторінці бронювання. | Клієнт (обирає виконавця) — «Підтверджено» або, якщо виконавець працює за передоплатою, «Очікує передоплату» |
| Очікує передоплату | Обрано виконавця, який працює за передоплатою. Клієнт сплачує передоплату карткою на сторінці оплати; до того бронювання не підтверджене. | Автоматично після оплати — «Підтверджено» |
| Підтверджено | Виконавця призначено. Клієнт обирає спосіб оплати; для готівки обидві сторони підтверджують замовлення. | Виконавець (прибуття або початок сесії) |
| Няня на місці / Аніматор на місці | Виконавець відмітив прибуття, записано геолокацію. | Виконавець («Почати») |
| Виконується / Сесія триває | Послуга надається. | Виконавець («Завершити» / «Завершити сесію») |
| Сесію завершено | Лише онлайн-консультація, проміжний стан: одразу переходить у «Завершено». | Автоматично |
| Завершено | Послугу надано, очікується розрахунок. | Картка — клієнт сплачує решту (або всю суму) на сторінці оплати, далі автоматично; якщо передоплата була 100%, «Оплачено» настає одразу. Готівка — виконавець («Підтвердити отримання готівки») |
| Оплачено | Розрахунок проведено. Обидві сторони можуть оцінити одна одну. | Клієнт (оцінка) |
| Оцінено | Клієнт залишив оцінку. Кінцевий статус. | — |
| Скасовано | Скасовано клієнтом (до початку виконання), виконавцем (відхилив пряме запрошення) або координатором. Кінцевий статус. | — |
Шляхи статусів по послугах
- Няня: Пошук виконавця → [Очікує передоплату] → Підтверджено → Няня на місці → Виконується → Завершено → Оплачено → Оцінено.
- Свято: Пошук виконавця → [Очікує передоплату] → Підтверджено → Аніматор на місці → Виконується → Завершено → Оплачено → Оцінено.
- Онлайн-консультація: Пошук виконавця → [Очікує передоплату] → Підтверджено (створюється відеозустріч Google Meet) → Сесія триває → Сесію завершено → Завершено → Оплачено → Оцінено.
«Очікує передоплату» буває лише тоді, коли обраний виконавець у своєму відгуку вказав, що працює за передоплатою (розділ 1.7).
Скасувати можна з будь-якого статусу до початку виконання. Сервер перевіряє, чи дозволена дія з поточного статусу для ролі користувача, тому ні кнопкою, ні напряму через API не можна, наприклад, скасувати оплачене бронювання.
1.3. Що потрібно виконавцю, щоб отримувати заявки
Заявку бачать і можуть на неї відгукнутися лише виконавці, які відповідають усім умовам нижче. Якщо хоч однієї бракує, заявка просто не з'являється у виконавця — без повідомлень про помилку.
| Умова | Де налаштовується | Для яких послуг |
|---|---|---|
| Акаунт верифіковано, послугу схвалено (статус «Активна» в «Доступних сервісах») | Онбординг і верифікація — див. посібник «Реєстрація та онбординг» | Усі |
| Якщо виконавець працює від агенції — агенція теж має активну послугу | Адміністратор / агенція | Усі |
| Зона обслуговування збігається із зоною адреси заявки | «Бронювання» → «Зони обслуговування» | Няня |
| Графік доступності покриває весь час заявки (день тижня, години) | «Бронювання» → «Доступність» | Няня, онлайн-консультація |
| Є хоча б один активний пакет — інакше клієнт не знайде аніматора в майстрі | «Пакети подій» | Свято |
| Клієнт і виконавець не заблокували одне одного | «Чорний список» | Усі |
| Немає заборгованості за комісією понад поріг послуги (див. 1.5) | «Гаманець» | Усі |
| Час початку заявки ще не минув | — | Няня, онлайн-консультація |


1.4. Час і часові пояси
Час заявки клієнт вводить у своєму браузері. Сторінки показують його в часовому поясі зони клієнта (виконавця), а якщо пояс для зони не задано — за київським часом. Графік доступності виконавця теж рахується за київським часом, і так само коефіцієнти тарифу: нічна надбавка 22:00–06:00 діє за київським годинником (бронювання на 23:00 за Києвом її отримує, на 07:00 — ні), вихідні — за київським днем тижня. Дата свята показується як календарна дата, без зсуву на інший день.
1.5. Гроші: оплата, комісія, реферали
- Ціну завжди рахує сервер, а не браузер:
- няня — за тарифом системи або за власним тарифом няні, який вона обирає у відгуку;
- свято — за пакетом / пропозицією аніматора;
- консультація — за тарифом онлайн-консультації за тривалістю сесії.
- Збережені картки. Якщо в клієнта є збережена картка (вкладка «Способи оплати» в профілі, посібник «Мій профіль», 2.5), кнопка «Сплатити …» на сторінці бронювання оплачує нею: одна картка — одразу, кілька — спершу вікно вибору картки. Без збереженої картки оплата проходить на сторінці платіжної системи, де клієнт вводить картку.
- Спосіб оплати клієнт обирає на сторінці бронювання після підтвердження: «Оплатити карткою» або «Оплатити готівкою». Якщо виконавець працює за передоплатою, вибору немає: лише картка. Змінити спосіб можна лише до початку виконання; перехід з картки на готівку знову вимагає підтвердження обох сторін.
- Карткою — після завершення послуги на сторінці бронювання з'являється «Сплатити … EUR». Клієнт сплачує на сторінці платіжної системи, бронювання переходить в «Оплачено». Гроші реально списуються з картки.
- Готівкою — і клієнт, і виконавець натискають «Підтвердити замовлення» до початку. Після завершення виконавець натискає «Підтвердити отримання готівки».
- Облік. Кожна оплата — окремий запис у платіжному сервісі: «Передоплата», «Залишок», «Оплата» (повна сума), «Оплата готівкою». Записи видно обом сторонам у блоці «Оплата» зі статусом («сплачено», «повернено», «частково повернено»).
- Мінімальна ціна замовлення — своя для кожної послуги, задає адміністратор (5.5). Ціна за тарифом (няня, консультація), що вийшла нижчою, піднімається до мінімальної, і в розрахунку клієнт бачить «За розрахунком вийшло менше за мінімальну ціну послуги, тому ціна — мінімальна: … EUR». Ціну пакета чи пропозиції аніматор нижче за мінімальну вказати не може. Виконавець бачить мінімальну ціну, коли редагує тариф («Мій тариф»), пакет або відповідає на запрошення.
- Гаманець виконавця. На «Оплачено» за карткове бронювання виконавцю зараховується вся сплачена карткою сума.
- Комісія платформи списується з гаманця виконавця на «Оплачено» і для картки, і для готівки (відсоток або фіксована сума — налаштування послуги в адмінці). Від'ємний баланс понад поріг послуги блокує прийняття нових замовлень цієї послуги до погашення.
- Реферальна винагорода нараховується тому, хто запросив клієнта або виконавця, на «Оплачено» (якщо діє відсоткова реферальна програма).
1.6. Хто що бачить
| Роль | Сторінки |
|---|---|
| Клієнт | «Замовити послугу» (майстри), «Мої бронювання», сторінка бронювання з відгуками, оплатою, чатом, оцінкою |
| Виконавець | «Доступні заявки», «Запрошення», «Мої бронювання», сторінка бронювання з діями, «Пакети подій», «Доступність», «Зони обслуговування», «Тарифи» |
| Адміністратор | «Бронювання» (усі бронювання платформи, перегляд і фільтри), «Пакети подій» (усі пакети) |
1.7. Передоплата і повернення при скасуванні
Виконавець сам вирішує, чи працює за передоплатою. Рішення приймається для кожної заявки окремо, у вікні відгуку.
- Виконавець відгукується з передоплатою. У вікні відгуку позначає «Працюю за передоплатою» і вказує відсоток: за замовчуванням 10, можна від 1 до 100. Вікно одразу показує суму, наприклад «= 18.00 EUR».
- Клієнт бачить умови у відгуку: «Передоплата 20% (18.00 EUR), лише картка». Обравши такого виконавця, клієнт отримує статус «Очікує передоплату» і кнопку «Сплатити передоплату 18.00 EUR». Готівку обрати не можна.
- Клієнт сплачує передоплату. Кнопка веде на сторінку платіжної системи (LiqPay або Stripe — залежно від налаштувань платформи). Після оплати клієнт повертається на сторінку бронювання, і воно стає «Підтверджено». Обидві сторони отримують «Передоплату сплачено».
- Якщо оплата не пройшла або клієнт закрив сторінку оплати, бронювання лишається «Очікує передоплату», і можна спробувати ще раз.
- Повернувшись зі сторінки оплати, клієнт бачить повідомлення за фактичним станом оплати: «Оплату прийнято», «Оплату не завершено» або «Оплата обробляється платіжною системою…» — тоді сторінка оновиться сама, щойно платіжна система підтвердить оплату.
- Після завершення клієнт сплачує залишок кнопкою «Сплатити 72.00 EUR», і бронювання стає «Оплачено». Якщо передоплата була 100%, платити більше нічого: бронювання стає «Оплачено» одразу після завершення.
Строк на передоплату
Бронювання чекає передоплату обмежений час — строк передоплати послуги: адміністратор задає його в годинах («Каталог послуг» → олівець біля послуги → «Строк передоплати»); порожнє поле — 24 години (типове значення платформи). Відлік іде від моменту вибору виконавця.
- Клієнт бачить строк у блоці «Оплата»: «Сплатіть протягом 24 год від вибору виконавця — інакше бронювання буде скасовано автоматично». Той самий строк названо в сповіщенні «Сплатіть передоплату».
- Якщо передоплату не сплачено вчасно, бронювання стає «Скасовано» автоматично (перевірка щохвилини). Обидві сторони отримують «Бронювання скасовано: передоплату не внесено» з кількістю годин; клієнту — пропозиція створити нову заявку. Грошей не списувалось, тож і повертати нічого.


Зайва оплата повертається сама. Якщо гроші надійшли, коли платити вже не треба було (клієнт відкрив сторінку оплати двічі й сплатив обидві, або бронювання скасували, поки клієнт був на сторінці оплати), ця оплата повністю повертається на картку, а клієнт отримує сповіщення «Оплату повернено».
Повернення при скасуванні
- Скасовує клієнт. Повертається відсоток сплаченого за правилами послуги — залежно від того, скільки годин лишилося до початку. Правила задає адміністратор (розділ 5.5). Початкові значення:
- няня й консультація: за 24 год і більше — 100%, за 2–24 год — 50%, менше ніж за 2 год — 0%;
- свято: за 7 днів і більше — 100%, за 3–7 днів — 50%, пізніше — 0%.
- Скасовує виконавець або платформа — клієнту завжди повертається 100%. Обраний виконавець відмовляється кнопкою «Відмовитися від замовлення» (статуси «Очікує передоплату» і «Підтверджено»).
- Правила діють за будь-якого способу скасування — і кнопкою, і простою зміною статусу через API.
- Утримана частина ділиться між платформою й виконавцем. Частку платформи задає адміністратор для кожної послуги (за замовчуванням 50%), решта зараховується в гаманець виконавця.
- Гроші повертаються на ту саму картку через платіжну систему. У блоці «Оплата» запис стає «повернено» або «частково повернено, повернено 15.00 EUR». Сповіщення про скасування містить рядок «Повернення: 15.00 EUR (50%)».








1.8. Пряме бронювання
Звичайна заявка йде всім виконавцям, яким вона підходить. Пряме бронювання адресоване одному виконавцю, якого клієнт уже знає: лише він отримує сповіщення і бачить заявку в «Доступних заявках». Далі — звичайний шлях: відгук, вибір, оплата. Доступне для «Замовлення няні» та «Онлайн-консультації» (на свято клієнт і так запрошує конкретних аніматорів, розділ 3).
Звідки клієнт робить пряме бронювання
- «Улюблені виконавці» (профіль → вкладка «Улюблені»): кнопка з календарем у рядку виконавця відкриває його профіль.
- Профіль виконавця (
/executors/<id>): угорі картка «Пряме бронювання» з поясненням і кнопкою для кожної послуги, яку виконавець надає («Забронювати: Замовлення няні», «Забронювати: Онлайн-консультація з догляду»). Нижче — публічний профіль (фото, рейтинг, про себе, навички, тариф), позначка «В улюблених». Якщо послуг для прямого бронювання немає (виконавець не активний у них або ви заблокували одне одного) — «Зараз виконавець не надає послуг, які можна забронювати напряму». - Посилання виконавця. У «Моєму публічному профілі» виконавця над вкладками — «Посилання для клієнтів» з кнопкою «Копіювати». Виконавець надсилає його клієнту (месенджер, візитка). Клієнт відкриває посилання → вхід або реєстрація (код виконавця вже підставлено як реферальний) → виконавець додається в його улюблені, і одразу відкривається профіль виконавця з кнопкою прямого бронювання. Новий клієнт, що зареєструвався так, рахується рефералом виконавця за реферальною програмою для клієнтів.



Як іде заявка
- Кнопка «Забронювати: …» відкриває звичайний майстер послуги (для няні — одразу крок «Деталі») з позначкою «Пряме бронювання: <ім'я>. Заявку побачить і отримає сповіщення лише цей виконавець». Перевірки ті самі, що й для будь-якої заявки (1.3): якщо виконавець у цей час недоступний, поза зоною чи заблокований — бронювання не створюється, з поясненням.
- Виконавець отримує «Пряме бронювання: клієнт надіслав заявку … саме вам» (дзвіночок і лист). У «Доступних заявках» така заявка стоїть першою з позначкою «Пряме бронювання». Інші виконавці її не бачать і відгукнутися на неї не можуть.
- Виконавець відгукується («Подати заявку») — далі все як звичайно: клієнт обирає, сплачує тощо.
- Виконавець натискає «Не цікаво» — заявка автоматично стає загальною: її отримують і бачать усі виконавці, яким вона підходить; клієнт отримує «Виконавець відмовився: заявку відкрито для всіх виконавців».


«Зробити загальним»
На сторінці бронювання клієнта рядок «Тип бронювання»: «Пряме бронювання» + ім'я виконавця, або «Загальне (для всіх виконавців)». Поки заявка в пошуку, клієнт може відкрити її для всіх: кнопка «Зробити загальним» → підтвердження «Відкрити заявку для всіх виконавців? Зараз її бачить лише … Після цього сповіщення отримають усі відповідні виконавці, і повернути пряме бронювання не можна» → «Зробити загальним». Заявка стає звичайною, сповіщення йдуть усім, кому вона підходить. У «Моїх бронюваннях» пряма заявка має позначку «Пряме бронювання», а в колонці «Виконавець» — ім'я обраного виконавця.

2. Замовлення няні
Няня приходить додому до клієнта на вказану кількість годин. Клієнт не обирає няню заздалегідь: заявку отримують усі няні, яким вона підходить (послуга, зона, графік), і клієнт обирає одну з тих, хто відгукнувся.
2.1. Клієнт: майстер «Замовити няню»
Відкрити: меню «Бронювання» → «Замовити послугу» (адреса /booking). Угорі — смуга кроків «Послуга → Деталі → Розрахунок → Готово».
Крок 1. Послуга
П'ять карток. «Замовлення няні», «Онлайн-консультація з догляду» і «Заходи та вечірки» клікабельні: перша відкриває крок 2 цього майстра, дві інші — окремі майстри (розділи 3 і 4). «Трансфер і супровід» та «Навчання няні» неактивні, з позначкою «Ця функція скоро буде доступна».
Крок 2. Деталі

| Поле | Як працює |
|---|---|
| «До вибору послуги» | Повертає на крок 1, введене зберігається. |
| Дата і час | Два поля: календар (не раніше сьогодні) і час. За замовчуванням — зараз плюс 4 години. Час вводиться у вашому часовому поясі. Час, що вже минув, сервер не приймає: «Час початку вже минув. Оберіть час у майбутньому». |
| Кількість годин | Кнопки «−» / «+» з кроком 0,5 год, мінімум 0,5. За замовчуванням 4. Час закінчення = початок + години. |
| Адреса → Зона обслуговування (обов'язково) | Спершу оберіть зону (місто). Поле адреси до цього неактивне: «Спочатку оберіть зону обслуговування». Заявку побачать лише няні, які працюють у цій зоні. |
| Адреса | Почніть вводити вулицю — з'явиться список підказок Google; оберіть рядок. Збережуться адреса й координати (для кнопки «Відкрити в Google Maps» у картці бронювання). |
| Контактний телефон | Обов'язкове. Підставляється з профілю, можна змінити (наприклад, якщо з няною спілкуватиметься бабуся). |
| Діти (необов'язково) | Список ваших дітей із профілю, можна обрати кількох. «+» праворуч відкриває додавання дитини, не виходячи з майстра. |
| Особливі вказівки (необов'язково) | Вільний текст: алергії, режим, звички. Няня бачить його в заявці та в картці бронювання. |
| «Отримати розрахунок» | Неактивна, поки не заповнені дата, години, зона з адресою і телефон. Натискання розраховує ціну (крок 3). |

Крок 3. Розрахунок
Картка «Ваш розрахунок»: «Оплачувані години» (не менше мінімуму тарифу), «Базова ціна», «За годину», рядки коефіцієнтів (наприклад, «Weekend surcharge ×1.2» — назву коефіцієнта задає адміністратор у тарифах), «Разом». Саме ця сума запишеться в бронювання як ціна. Якщо вона менша за мінімальну ціну послуги, «Разом» показує мінімальну, а нижче — пояснення «За розрахунком вийшло менше за мінімальну ціну послуги…».
- «Назад» — повернутися до деталей.
- «Підтвердити бронювання» — створює бронювання, зберігає деталі й одразу надсилає заявку няням (статус «Пошук виконавця»). Якщо щось не вдалося, над формою з'являється червоне повідомлення з причиною.


Крок 4. Готово
«Запит на бронювання надіслано»: заявку №BK-… надіслано няням вашої зони. Коли хтось відгукнеться, прийде сповіщення в дзвіночок і на email. «Повернутися на головну».

2.2. Пошук виконавця: відгуки нянь
Клієнт
У «Моїх бронюваннях» з'являється рядок зі статусом «Пошук виконавця» і лічильником «Кандидати». На сторінці бронювання — блок «Шукаємо доступного виконавця…».

Виконавець: «Доступні заявки»
Меню «Бронювання» → «Доступні заявки». Таблиця відкритих заявок на няню й онлайн-консультації, які підходять саме цьому виконавцю (див. 1.3): «Сервіс», «Адреса / формат», «Час на коли», «Кількість дітей», «Тривалість» і дві кнопки:
- «Подати заявку» — відкриває вікно відгуку (нижче). Після «Надіслати» рядок зникає з цієї таблиці й з'являється в «Моїх бронюваннях» з позначкою «Очікує» — до рішення клієнта. Клієнт отримує сповіщення.
- «Не цікаво» — приховати заявку тільки для себе. Клієнт нічого не отримує.
Нова заявка з'являється в таблиці без оновлення сторінки, у дзвіночку приходить «Нове доступне замовлення». Лічильник біля пункту меню показує, скільки заявок відкрито.

Вікно відгуку: тариф і передоплата
| Поле | Як працює |
|---|---|
| Ціна за тарифом | Два варіанти з уже порахованою ціною за цей час і тривалість:
|
| Працюю за передоплатою | Прапорець і відсоток (за замовчуванням 10, від 1 до 100), поруч сума передоплати. Клієнт сплатить її карткою одразу після вибору вас; оплата такого бронювання — лише карткою (1.7). |
| Клієнт побачить ціну | Підсумкова ціна вашої пропозиції. |
| «Надіслати» / «Скасувати» | Надіслати відгук або закрити вікно без відгуку. |
Ціну рахує сервер за обраним тарифом, браузер її не передає.


Клієнт обирає
Коли няня відгукнулась, у дзвіночку клієнта з'являється «Марія Коваль відгукується на заявку №BK-…», приходить лист. Сторінка бронювання оновлюється сама. З'являється блок «Виконавці, які відгукнулись». Для кожного виконавця показано:
- ім'я і рейтинг;
- «Запропонована ціна: 90.00 EUR» — його ціна; позначка «тариф виконавця», якщо ціна за його власним тарифом;
- умови передоплати, якщо він працює за передоплатою: «Передоплата 20% (18.00 EUR), лише картка».
Кнопки:
- «Переглянути профіль» — вікно з публічним профілем (досвід, послуги, відгуки);
- «Зв'язатися» — відкриває чат з цим виконавцем;
- «Обрати» — призначає виконавця, ціна бронювання стає ціною його пропозиції, решту відгуків відхиляє. Бронювання стає «Підтверджено» або, якщо виконавець працює за передоплатою, «Очікує передоплату» (1.7). Виконавець отримує «Клієнт обрав вас виконавцем…».





2.3. Підтверджено: оплата і подвійне підтвердження
Після вибору клієнт бачить праворуч блок «Виконавець» (ім'я, «Переглянути профіль», «Подзвонити», вбудований чат) і блок «Оплата» з ціною та двома кнопками.
- «Оплатити карткою» — замовлення одразу вважається підтвердженим обома сторонами («Замовлення повністю підтверджено»). Платить клієнт після завершення послуги, на сторінці оплати.
- «Оплатити готівкою» — з'являється «Будь ласка, підтвердіть це замовлення» і кнопка «Підтвердити замовлення». Після натискання: «Очікуємо підтвердження від виконавця…», виконавцю приходить сповіщення. Виконавець на своїй сторінці бронювання бачить «Підтвердити замовлення» і натискає його, після чого клієнту приходить сповіщення.



2.4. Зміна: прибуття, початок, завершення
Усі дії — у блоці «Дії» на сторінці бронювання виконавця.
| Кнопка | Коли доступна | Що відбувається |
|---|---|---|
| «Відмітити прибуття» | «Підтверджено» | Браузер просить дозвіл на геолокацію; координати записуються як точка прибуття (якщо дозвіл не надано — без координат). Статус «Няня на місці», клієнт отримує «Няня прибула…». |
| «Почати» | «Няня на місці» | Статус «Виконується». |
| «Завершити» | «Виконується» | Записується точка завершення. Статус «Завершено», обидва отримують «Зміну завершено». Картка: клієнт отримує «Сплатіть бронювання», у виконавця — «Очікуємо оплату клієнтом карткою: … EUR». |
| «Підтвердити отримання готівки» (у блоці «Оплата») | «Завершено», готівка | «Роботу завершено — підтвердьте, коли отримаєте готівку особисто». Після натискання — «Оплачено», створюється запис оплати, списується комісія. |
Якщо дію виконати не вдалося (наприклад, послугу заблоковано через заборгованість), з'являється спливне повідомлення з причиною.



Оплата карткою після завершення
На сторінці бронювання клієнта в блоці «Оплата» з'являється «Послугу надано. Сплатіть решту карткою» (без передоплати — «Послугу надано. Сплатіть її карткою») і кнопка «Сплатити 72.00 EUR». Сума — ціна мінус уже сплачена передоплата, а без передоплати — вся ціна. Кнопка веде на сторінку оплати; після оплати бронювання стає «Оплачено», у блоці «Оплата» видно обидва записи.


2.5. Оцінки, улюблені, чорний список
- На «Оплачено» обидві сторони отримують «Оплату отримано… залиште оцінку».
- Клієнт: блок «Оцінити це бронювання» — 1–5 зірок, «Коментар (необов'язково)», «Надіслати оцінку» (неактивна, поки не обрано зірки). Після цього статус «Оцінено», текст «Дякуємо за вашу оцінку».
- Виконавець: блок «Оцінити клієнта» з тими самими полями; після надсилання — «Ваша оцінка».
- Після завершення (або скасування) з'являється блок «Цей виконавець» / «Цей клієнт»: «Додати в улюблені» і «Заблокувати…» — кожна з підтвердженням. Заблокований більше не отримує ваших заявок і не бачить вас серед кандидатів. Кнопка «Подзвонити» зникає, чат стає лише для читання.



2.6. Скасування
- Клієнт — кнопка «Скасувати замовлення» в блоці «Дії» (у статусах «Чернетка», «Пошук виконавця», «Очікує передоплату», «Підтверджено»; також у списку «Мої бронювання»). У вікні — «Причина» (обов'язково, список причин мовою інтерфейсу) і «Коментар». Після підтвердження — «Скасовано», дата скасування; обидві сторони отримують «Бронювання скасовано». Якщо передоплату вже сплачено, вікно показує, скільки повернеться, і гроші повертаються на картку (1.7).
- Виконавець, якого запросили напряму (а не через відгук), у статусі «Пошук виконавця» бачить «Прийняти» / «Відхилити»; відхилення теж просить причину.
- Обраний виконавець може відмовитися й після вибору, у статусах «Очікує передоплату» і «Підтверджено»: кнопка «Відмовитися від замовлення» в блоці «Дії», у вікні — причина і попередження, що клієнту повернеться вся сплачена сума. Клієнту тоді повертається вся передоплата.
- Після початку виконання («Няня на місці» і далі) скасувати може лише координатор.
- Скасування бронювання скасовує і всі заплановані зустрічі за ним (співбесіди 2.8, онлайн-сесію): учасники отримують лист про скасування.

2.7. Сповіщення в цьому циклі
| Подія | Клієнт | Виконавець |
|---|---|---|
| Заявку надіслано | Лист «Заявку надіслано» | Дзвіночок «Нове доступне замовлення» (усім, кому підходить) |
| Виконавець відгукнувся | Дзвіночок + лист «Новий відгук на заявку» | — |
| Клієнт обрав виконавця | Дзвіночок «Бронювання №…: Підтверджено» + лист «Бронювання підтверджено» | Дзвіночок «Клієнт обрав вас…» + лист |
| Готівка: одна сторона підтвердила | Дзвіночок + лист «Виконавець підтвердив замовлення» | Дзвіночок + лист «Клієнт підтвердив замовлення» |
| Прибуття / початок | Дзвіночок зі статусом + лист «Няня на місці» | Дзвіночок зі статусом |
| Завершено | Дзвіночок + лист «Зміну завершено» | Дзвіночок + лист |
| Оплачено | Дзвіночок + лист «Оплату отримано» | Дзвіночок + лист |
| Скасовано | Дзвіночок + лист «Бронювання скасовано» | Дзвіночок + лист (якщо виконавця вже призначено) |
| Пряме бронювання (1.8) | Якщо обраний виконавець відмовився — «Виконавець відмовився: заявку відкрито для всіх» | Лише обраний: «Пряме бронювання» |
| Не сплачено передоплату вчасно (1.7) | «Бронювання скасовано: передоплату не внесено» | Те саме |
| Співбесіда (2.8) | — (подія у своєму Google Календарі) | Запрошення від Google або листи: «Заплановано зустріч», «Зустріч скасовано», нагадування за 30 і 15 хв |
2.8. Співбесіда з кандидатом (Google Meet)
Перш ніж обрати виконавця, клієнт може поговорити з ним по відео. Співбесіду можна запланувати з будь-ким, хто відгукнувся (і з уже обраним), — для няні й онлайн-консультації.
- На сторінці бронювання, в рядку кандидата в «Виконавці, які відгукнулись» — блок зустрічі з кнопкою «Запланувати співбесіду».
- Якщо Google Календар клієнта не підключено — спершу «Підключити Google Календар» (сторінка згоди Google, потім повернення на ту саму сторінку). Підключити можна й заздалегідь: профіль → вкладка «Google Календар».
- Вікно «Запланувати співбесіду»: дата, час, тривалість (від 15 до 240 хв, за замовчуванням 30), підказка «Нагадування прийдуть за 30 і 15 хв». «Запланувати» / «Скасувати». Час у минулому не приймається; з одним кандидатом — одна запланована співбесіда.
- У Google Календарі клієнта створюється подія з посиланням Google Meet і нагадуваннями за 30 і 15 хвилин. Блок у рядку кандидата показує «Заплановано на 07.11.2026 16:00–16:30 (30 хв)», посилання з кнопками «Скопіювати» і «Відкрити Google Meet», і як повідомлено виконавця.
- Виконавець: якщо він підключив Google Календар (профіль → «Google Календар»), він — учасник події і отримує запрошення від Google. Якщо ні — він отримує листи: деталі (бронювання, послуга, час бронювання, час і посилання зустрічі), а за 30 і 15 хвилин — нагадування. Сам виконавець бачить співбесіду в «Моїх бронюваннях», колонка «Зустріч» (5.3): час і посилання.
- «Скасувати» (з підтвердженням) скасовує подію; виконавець отримує лист «Зустріч скасовано». Після скасування можна запланувати нову.


Онлайн-сесія консультації (розділ 4) — така сама зустріч: з тими самими нагадуваннями і тим самим правилом для виконавця (учасник у Google або листи).
3. Заходи та вечірки (аніматори)
Клієнт описує свято, переглядає пакети аніматорів і запрошує одного або кількох. Запрошення отримують лише обрані аніматори: розсилки «всім підходящим», як для няні, тут немає. Кожен запрошений відповідає за ціною пакета чи своєю ціною або відмовляється; у відповіді можна вказати передоплату. Клієнт обирає одного з тих, хто відповів.
3.1. Виконавець: «Пакети подій»
Пакет — це готова програма свята з ціною. Без активного пакета аніматора не видно на кроці «Аніматори» в майстрі клієнта.
- Таблиця: «Назва», «Ціна», «Тривалість (хв)», «Макс. кількість гостей», «Статус» («Активний» / «Неактивний»), сортування за назвою, ціною, статусом; фільтр «Усі статуси» і «Очистити фільтри»; пагінація.
- «Створити» — вікно «Створити пакет»: «Назва»*, «Опис», «Ціна»* (EUR), «Тривалість (хв)»*, «Макс. кількість гостей»*, «Що входить» (введіть пункт і натисніть Enter — він стане окремою позначкою). «Зберегти» неактивна, поки не заповнені поля з зірочкою; новий пакет одразу активний. Під «Ціною» — «Мінімальна ціна послуги: … EUR» (якщо адміністратор її задав); з нижчою ціною пакет не зберегти — підказка стає червоною.
- Дії в рядку: олівець — редагувати; коло з рискою — увімкнути/вимкнути (неактивний пакет не показується клієнтам, але зберігається); кошик — видалити.



3.2. Клієнт: майстер «Замовити аніматора / вечірку»
Відкрити: «Замовити послугу» → «Заходи та вечірки» (/booking/events). Кроки «Деталі події → Аніматори → Готово». «До вибору послуги» повертає до карток послуг.
Крок 1. Деталі події
| Поле | Як працює |
|---|---|
| Дата заходу, Час початку | Календар (не раніше сьогодні) і час. Це календарна дата свята — вона показується всім однаково, без зсуву через часові пояси. |
| Дитина-іменинник (необов'язково) | Вибір із ваших дітей; «+» — додати дитину. |
| Адреса проведення | Спершу «Зона обслуговування (обов'язково)», потім адреса з підказок Google. |
| Кількість гостей | Число, мінімум 1, за замовчуванням 10. |
| Особливі прохання (необов'язково) | Тема свята, побажання. |
| Співаніматори / помічники (необов'язково) | «Додати співаніматора» додає рядок пошуку за іменем; хрестик видаляє рядок. |
| «Далі: обрати аніматорів» | Неактивна, поки не заповнені адреса з зоною і кількість гостей. |

Крок 2. Аніматори
Картки активних пакетів усіх аніматорів, яким доступна послуга (вищий рейтинг — вище). На картці: назва пакета, «Аніматор», «Рейтинг», опис, «Ціна», «Тривалість», «Макс. гостей» і прапорець.
- Клік по картці або прапорцю — обрати пакет. В одного аніматора можна обрати лише один пакет: вибір іншого замінює попередній.
- «Знайти аніматора за іменем вручну» — пошук аніматора без пакета (наприклад, порекомендованого агенцією): обрати в полі «Аніматор» і натиснути «Додати». Такий аніматор отримує запрошення без ціни й мусить надіслати свою пропозицію.
- Блок «Запрошено (N)» — обрані пакети (аніматор, пакет, ціна) і додані вручну аніматори; хрестик прибирає.
- «Запросити й надіслати» — створює бронювання й надсилає запрошення. Аніматор, обраний через пакет, отримує запрошення вже з цим пакетом і його ціною.

Крок 3. Готово
«Запит надіслано»: бронювання №BK-… надіслано запрошеним аніматорам, відповіді з'являться на сторінці бронювання. «Повернутися до моїх бронювань».

3.3. Виконавець: «Запрошення на заходи»
Меню «Бронювання» → «Запрошення». Аніматор отримує дзвіночок «Вас запросили на заявку №BK-…» і лист «Нове запрошення» з кнопкою, що веде сюди.
| Колонка | Зміст |
|---|---|
| Дата | Дата й час свята. |
| Адреса, Гості | З деталей клієнта. |
| Моя пропозиція | Підказка «Клієнт обрав ваш пакет «…» — 150 EUR» або «Клієнт запросив вас за іменем, без пакета…». |
| Дії | «Відповісти» — вікно відгуку:
|
Після відповіді рядок зникає, бронювання з'являється в «Моїх бронюваннях» з позначкою «Очікує». Клієнт отримує «… відгукується на заявку».



3.4. Клієнт обирає аніматора; передоплата
- Поки аніматори думають, на сторінці бронювання видно блок «Запрошено, очікують відповіді» з позначкою «Очікує відповіді» біля кожного. Статус — «Пошук виконавця», хоча нікого не шукають: відповісти можуть лише запрошені.
- Хто відповів, переходить у «Виконавці, які відгукнулись» з «Запропонована ціна: … EUR», кнопками «Переглянути профіль», «Зв'язатися», «Обрати».
- «Обрати» — ціна бронювання = ціна обраної пропозиції. Бронювання стає «Підтверджено» або, якщо аніматор вказав передоплату, «Очікує передоплату», доки клієнт не сплатить її карткою (1.7). Сплачена передоплата видно в «Деталях» («Депозит: … (сплачено)») і в блоці «Оплата». Обидва отримують «Бронювання підтверджено».
- Далі — вибір способу оплати й (для готівки) подвійне підтвердження, як для няні (2.3).


Якщо обраний аніматор працює за передоплатою (тут 30% від 150 EUR), бронювання спершу «Очікує передоплату», а в блоці «Оплата» — «Сплатити передоплату 45.00 EUR». Після оплати на сторінці платіжної системи — «Підтверджено», у «Деталях» — «Депозит: 45.00 EUR (сплачено)», у списку оплат — «Передоплата 45.00 EUR карткою, сплачено».

3.5. День свята
- «Відмітити прибуття» → «Аніматор на місці» (геолокація; клієнт отримує «Аніматор на місці»).
- «Почати» → «Виконується»; «Завершити» → «Завершено» (обидва отримують «Свято завершено»).
- Готівка: «Підтвердити отримання готівки» → «Оплачено». Картка: після «Завершено» клієнт бачить «Послугу надано. Сплатіть решту карткою» (без передоплати — «Сплатіть її карткою») і кнопку «Сплатити … EUR» — решту суми (ціна мінус передоплата) → «Оплачено». У блоці «Оплата» тоді «Оплачено — 150 EUR (Картка)» і обидва записи: «Передоплата» і «Залишок».
- На «Оплачено» обидва отримують запрошення оцінити.
- Виконавець може додати співаніматорів у блоці «Команда» на сторінці бронювання («Додати», «Видалити»).




3.6. Скасування і повернення передоплати
Якщо передоплату сплачено, вікно «Скасувати замовлення» вгорі показує, скільки повернеться при скасуванні зараз. Правила для свят (адміністратор може змінити, 5.5):
| До початку свята | Повернення передоплати |
|---|---|
| 7 днів (168 год) і більше | 100% |
| 3–7 днів | 50% |
| Менше 3 днів | 0% |
Ці відсотки діють, коли скасовує клієнт; якщо скасовує аніматор — повертається 100%. Гроші повертаються на картку, утримана частина ділиться між платформою й аніматором (1.7). Причина обов'язкова (список: «Змінилися плани», «Знайшли іншого виконавця», «Виконавець не може», «Виконавець відмовився», «Погода / проблема з місцем», «Надзвичайна ситуація в родині», «Інше»). Обидва отримують «Бронювання скасовано… Повернення: … EUR (N%)».

4. Онлайн-консультація з догляду
Відеозустріч у Google Meet із консультантом або нянею. Два формати: дистанційний нагляд (виконавець наглядає за дитиною через відео) і консультація для батьків (порада без нагляду). Як і для няні, клієнт не обирає виконавця заздалегідь: заявку отримують усі, кому доступна послуга і хто вільний у цей час, а клієнт обирає з тих, хто відгукнувся. Посилання на зустріч створюється в момент вибору.
4.1. Клієнт: майстер «Замовити онлайн-догляд / консультацію»
Відкрити: «Замовити послугу» → «Онлайн-консультація з догляду» (/booking/online-care). Кроки «Деталі сесії → Ціна → Готово».
Крок 1. Деталі сесії
| Поле | Як працює |
|---|---|
| Тип сесії | «Дистанційний нагляд (відеонагляд за дитиною)» або «Консультація для батьків (лише порада)». Від вибору залежать поля нижче. |
| Дата, Час початку | Коли почнеться відеозустріч. |
| Тривалість (хв) | Крок 15 хв, мінімум 15, за замовчуванням 60. |
| Діти (обов'язково) | Лише для нагляду: за якою дитиною наглядати. Без вибору перехід далі не дозволяється. |
| Тема (необов'язково) | Лише для консультації: наприклад, «адаптація до садочка». |
| Примітки для няні (необов'язково) | Що виконавцю варто знати заздалегідь. |
| «Переглянути ціну» | Перехід до кроку 2. |


Крок 2. Ціна
Картка «Орієнтовна ціна»: дата й час, тривалість, «Разом» — за тарифом онлайн-консультації (адмінка → «Тарифи»; початково 30 EUR/год, тобто 0,5 EUR/хв) з коефіцієнтами тарифу на обраний час, але не менше за мінімальну ціну послуги. Суму рахує сервер, і саме вона запишеться в бронювання; поки сервер рахує, замість суми — «...». Якщо застосовано мінімальну ціну, під «Разом» є пояснення.

- Google Calendar. Відеозустріч створюється у вашому Google Календарі, тому перед першим бронюванням потрібно його підключити. Якщо календар не підключено, замість кнопки підтвердження видно картку «Для цієї сесії створюється справжнє посилання Google Meet — спершу підключіть Google Calendar» і кнопку «Підключити Google Calendar». Вона відкриває сторінку згоди Google; після підтвердження вас повертає в майстер, а введені дані зберігаються. Якщо підключити не вдалося — «Не вдалося підключити Google Calendar. Спробуйте ще раз».
- «Назад» / «Підтвердити бронювання» — створює бронювання й надсилає заявку виконавцям («Пошук виконавця»).


Крок 3. Готово
«Заявку надіслано»: відгуки з'являться на сторінці бронювання; оберіть одного — і там же з'явиться посилання на відеозустріч.
4.2. Відгуки і вибір виконавця
- Виконавець бачить заявку в «Доступних заявках» разом із заявками на няню. Замість адреси — значок відео і тип сесії, у «Тривалості» — хвилини. Кнопки «Подати заявку» / «Не цікаво» працюють так само (2.2). У вікні відгуку — ціна платформи (без вибору тарифу) і «Працюю за передоплатою».
- Клієнт отримує «… відгукується на заявку», на сторінці бронювання з'являються «Виконавці, які відгукнулись» з кнопками «Переглянути профіль», «Зв'язатися», «Обрати».
- До вибору клієнт може провести з кандидатом співбесіду по відео (2.8).
- «Обрати» — бронювання «Підтверджено» (або «Очікує передоплату», доки клієнт не сплатить передоплату, 1.7). У Google Календарі клієнта створюється подія сесії з посиланням Google Meet і нагадуваннями за 30 і 15 хв — та сама зустріч, що й співбесіда (2.8): виконавець із підключеним Google Календарем — учасник події, інакше отримує листи з деталями бронювання й сесії та нагадування за 30 і 15 хв. Клієнт отримує «Онлайн-сесію заплановано» і «Бронювання підтверджено», виконавець — «Клієнт обрав вас…».
- Якщо Google Calendar клієнта на цей момент не підключено, «Обрати» не спрацює і покаже повідомлення «Підключіть Google Календар, щоб створити відеозустріч». Бронювання лишається в пошуку — без підтвердженого бронювання без дзвінка.



4.3. Сесія
- На сторінці бронювання клієнта — блок «Онлайн-сесія»: час, посилання з «Скопіювати» і «Відкрити Google Meet»; у виконавця сесія видно і в «Моїх бронюваннях», колонка «Зустріч». Скасування бронювання скасовує і сесію (учасник отримує лист).
- Кнопка «Приєднатися до дзвінка» є в обох на сторінці бронювання (і в клієнта — у списку «Мої бронювання»), доки статус «Підтверджено» або «Сесія триває». Кожна сторона бачить лише своє посилання.
- Виконавець: «Почати сесію» → «Сесія триває»; обидва отримують «Сесія почалася» (клієнт — із закликом приєднатися).
- «Завершити сесію» → бронювання одразу «Завершено» (окремої кнопки «Завершити» для онлайн-сесії немає), обидва отримують «Сесію завершено».
- Розрахунок: картка — після завершення в клієнта «Послугу надано. Сплатіть її карткою» і «Сплатити 30.00 EUR»; після оплати на сторінці платіжної системи — «Оплачено» і форма оцінки. Посилання на зустріч після завершення вже не показується. Готівка — виконавець натискає «Підтвердити отримання готівки». Далі — оцінки (2.5).
- Запис зустрічі платформа не веде.





5. Сторінки бронювань
5.1. Клієнт: «Мої бронювання»
Меню «Бронювання» → «Мої бронювання» (/bookings). Таблиця всіх бронювань клієнта, нові зверху.
| Колонка | Зміст |
|---|---|
| Послуга | Назва послуги мовою інтерфейсу; клік відкриває бронювання. Пряма заявка (1.8) — з позначкою «Пряме бронювання». |
| Дата і час | Початок у вашому часовому поясі. |
| Виконавець | Ім'я призначеного виконавця; для прямої заявки в пошуку — ім'я обраного виконавця; «Шукаємо виконавця…», поки триває пошук; «—» для скасованих без виконавця. |
| Статус | Кольорова позначка (див. 1.2). |
| Кандидати | Скільки виконавців відгукнулось (лише в пошуку). |
| Дії | Око — відкрити; бульбашка — чат з виконавцем; камера — приєднатися до онлайн-сесії (коли доступно); хрестик — скасувати (до початку виконання). |

5.2. Клієнт: сторінка бронювання
Сторінка оновлюється сама, коли щось відбувається з цим бронюванням (відгук, зміна статусу, підтвердження готівки). Блоки:
| Блок | Що показує / що можна зробити |
|---|---|
| Заголовок | «Бронювання №BK-…» (той самий номер, що в листах і сповіщеннях), статус, послуга, дата створення, «Тип бронювання» — «Загальне (для всіх виконавців)» або «Пряме бронювання» + ім'я виконавця і, поки триває пошук, «Зробити загальним» (1.8). «Назад» — до списку. |
| Розклад | Запланований час, закінчення; для няні — запитані години, для свята — дата заходу, для консультації — тип сесії й хвилини. |
| Деталі | Адреса з посиланням «Відкрити в Google Maps», зона, діти, гості, примітки/тема; для свята — «Депозит: … (сплачено/очікується)»; для консультації — «Приєднатися до дзвінка». |
| Пошук / запрошення / відгуки | «Шукаємо доступного виконавця…» (няня, консультація); «Запрошено, очікують відповіді» (свято); «Виконавці, які відгукнулись» з ціною, умовами передоплати, «Переглянути профіль», «Зв'язатися», «Обрати» і блоком співбесіди («Запланувати співбесіду» або запланована зустріч, 2.8). |
| Виконавець (праворуч) | Ім'я, «Переглянути профіль», «Подзвонити» (до завершення), вбудований чат (після завершення — лише для читання). |
| Оплата (праворуч) | Ціна, спосіб («Готівка» / «Картка»), передоплата (відсоток і сума), кнопки вибору способу, «Сплатити передоплату …» («Очікує передоплату»), «Послугу надано. Сплатіть решту карткою» / «Сплатіть її карткою» і «Сплатити …» (картка після завершення), «Підтвердити замовлення» (готівка), «Очікує підтвердження отримання готівки виконавцем», «Оплачено — сума (спосіб)». Нижче — список оплат: «Передоплата» / «Залишок» / «Оплата», сума, картка чи готівка, статус, повернення. Після повернення зі сторінки оплати — повідомлення «Оплату прийнято» або «Оплату не завершено». |
| Оцінка | Після оплати — форма оцінки; після оцінки — подяка. |
| Цей виконавець | Після завершення — «Додати в улюблені», «Заблокувати виконавця». |
| Дії | «Скасувати замовлення» (до початку виконання). |
| Скасовано | Для скасованих — «Скасовано о …». |
Якщо дія не вдалася, внизу праворуч з'являється червоне повідомлення з причиною від сервера.
5.3. Виконавець: «Мої бронювання»
Таблиця, як у клієнта: бронювання, де виконавця призначено, плюс заявки, на які він відгукнувся і чекає рішення клієнта (статус «Очікує»). Скасовані й закриті заявки серед «Очікує» не показуються. Більше 10 рядків — сторінки.
| Колонка | Зміст |
|---|---|
| Бронювання | Номер BK-… (клік відкриває бронювання; для «Очікує» — без посилання, сторінка відкривається після вибору) і назва послуги. |
| Заплановано | Початок. |
| Ціна | Сума й валюта. |
| Статус | «Очікує» або статус бронювання. |
| Зустріч | Співбесіда, яку запланував клієнт (2.8), або онлайн-сесія консультації: «Заплановано на …», посилання, «Скопіювати», «Відкрити Google Meet». Скасувати зустріч може лише організатор (клієнт). |
| Дії | Око — відкрити бронювання; літачок — «Переглянути та відповісти» (у пошуку). |

5.4. Виконавець: сторінка бронювання
| Блок | Що показує / що можна зробити |
|---|---|
| Заголовок, Розклад, Деталі | Те саме, що в клієнта; для свята — блок «Команда» (додати/видалити співаніматорів); для консультації — «Приєднатися до дзвінка» (до кінця сесії). |
| Клієнт (праворуч) | Ім'я, «Подзвонити», чат. |
| Дії (праворуч) | Залежно від статусу: «Прийняти» / «Відхилити» (пряме запрошення), «Відмовитися від замовлення» («Очікує передоплату», «Підтверджено»), «Відмітити прибуття», «Почати», «Завершити», «Почати сесію», «Завершити сесію»; «Подальших дій немає» для закритих. На «Завершено» блок прихований — останній крок (готівка) у блоці «Оплата». |
| Оплата (праворуч) | Ціна, спосіб, передоплата, «Очікуємо передоплату від клієнта», «Очікуємо оплату клієнтом карткою: … EUR», «Підтвердити замовлення» (готівка, до початку), «Підтвердити отримання готівки» (після завершення), «Оплачено», список оплат. |
| Оцінити клієнта | Лише після оплати (раніше форма з'являлась уже на «Завершено», і надсилання завжди падало). |
| Цей клієнт | Після завершення — «Додати в улюблені», «Заблокувати клієнта». |


5.5. Адміністратор: «Бронювання», «Пакети подій», правила повернення
- «Бронювання» (меню «Бронювання та послуги»): усі бронювання платформи, лише для перегляду. Колонки: ID, № бронювання, сервіс, клієнт і виконавець (ім'я та #id), статус, запланований початок, ціна. Фільтри: пошук за клієнтом або виконавцем («Пошук»), «Усі сервіси» (няня / консультація / свята), «Усі статуси» (усі статуси всіх послуг мовою інтерфейсу), «Очистити фільтри». Пагінація.
- «Переглянути пакети подій» → «Пакети подій»: усі пакети всіх аніматорів (назва, аніматор, ціна, тривалість, гості, статус).
- Змінювати статуси бронювань з адмінки не можна — це роблять сторони бронювання (або координатор агенції).
- Строк передоплати — «Каталог послуг» → олівець біля послуги → поле «Строк передоплати» (години, 1–720; порожнє — 24 год). Скільки бронювання чекає передоплату до автоматичного скасування (1.7).
- Тарифи і коефіцієнти — «Тарифи»: тарифи системи для кожної послуги (зокрема онлайн-консультації, 1.1); клік по рядку відкриває «Коефіцієнти» з назвою кожного коефіцієнта п'ятьма мовами.
- Мінімальна ціна замовлення — «Каталог послуг» → олівець біля послуги → блок «Мінімальна ціна», поле «Мінімальна ціна замовлення, EUR». Порожнє поле — мінімуму немає. Діє одразу для нових розрахунків і пропозицій цієї послуги (1.5).
- Правила повернення передоплати — «Каталог послуг» → олівець біля послуги → блок «Передоплата: повернення при скасуванні»:
- «Частка платформи з утриманої суми, %» — решту утриманої передоплати отримує виконавець;
- таблиця правил: «Не пізніше ніж за (год)» і «Повертається, %»; «Додати правило», кошик — видалити. Два правила з однаковими годинами зберегти не можна.





6. Сповіщення про бронювання
6.1. Як доставляються
| Канал | Як працює |
|---|---|
| Дзвіночок у кабінеті | Миттєво, поки вкладка відкрита. Текст мовою інтерфейсу, наприклад «Бронювання №BK-2026-…: Підтверджено». Клік відкриває бронювання (запрошення — сторінку «Запрошення»). Відкрита сторінка цього бронювання оновлюється сама. |
| Push (мобільний застосунок) | Перший канал каскаду, якщо в користувача зареєстровано пристрій. |
| Резервний канал: якщо push не доставлено (немає пристрою), протягом ~10 секунд надсилається лист. Лист мовою профілю користувача: заголовок події, привітання, текст і кнопка «Відкрити бронювання», що веде в клієнтський або виконавчий кабінет. | |
| SMS | Для бронювань не використовується (лише коди входу). |
Одна подія для одного користувача й бронювання не дублюється протягом короткого вікна (повторне натискання кнопки не дасть двох листів).


6.2. Каталог сповіщень
Ідентифікатор — код події в черзі сповіщень. Тексти лежать у backend/i18n/<мова>/bookings.json (notifications.<код>), лист — шаблон templates/email/<мова>/booking/booking-event-content.hbs. Нумерація BN — для подальшого доповнення.
| # | Код | Кому | Коли | Текст (uk) |
|---|---|---|---|---|
| BN1 | BookingSubmitted | Клієнт | Заявку надіслано (будь-яка послуга) | «Заявку надіслано»: заявку №… «послуга» надіслано виконавцям… |
| BN2 | booking-available (лише дзвіночок) | Усі виконавці, яким підходить заявка | Нова заявка на няню або консультацію | «Нове доступне замовлення» |
| BN3 | BookingInvited + booking-invited | Запрошені аніматори | Клієнт надіслав заявку на свято | «Нове запрошення»: клієнт запрошує вас на заявку №… |
| BN4 | BookingCandidateResponded + booking-candidate-responded | Клієнт | Виконавець відгукнувся / відповів на запрошення | «Новий відгук на заявку»: Ім'я відгукується на заявку №… |
| BN5 | BookingConfirmed | Обидва | Клієнт обрав виконавця (або виконавець прийняв пряме запрошення) | Клієнту: «…підтверджено, виконавця призначено. Оберіть спосіб оплати». Виконавцю: «Клієнт обрав вас виконавцем…» |
| BN6 | BookingPrepaymentPaid | Обидва | Клієнт сплатив передоплату (будь-яка послуга) | «Передоплату сплачено»: передоплату … EUR сплачено, бронювання підтверджено |
| BN7 | OnlineSessionReminder | Клієнт | Консультацію підтверджено (створено Meet) | «Онлайн-сесію заплановано»: посилання в картці бронювання, запрошення в Google Календарі |
| BN8 | ClientConfirmedCash | Виконавець | Клієнт підтвердив готівкове замовлення | «Клієнт підтвердив замовлення… Підтвердіть зі свого боку» |
| BN9 | ExecutorConfirmedCash | Клієнт | Виконавець підтвердив готівкове замовлення | «Виконавець підтвердив замовлення» |
| BN10 | NannyCheckedIn | Клієнт | Няня відмітила прибуття | «Няня на місці» |
| BN11 | AnimatorCheckedIn | Клієнт | Аніматор відмітив прибуття | «Аніматор на місці» |
| BN12 | OnlineSessionStarted | Обидва | Виконавець почав сесію | «Сесія почалася» (клієнту — приєднатися за посиланням) |
| BN13 | OnlineSessionEnded | Обидва | Сесію завершено | «Сесію завершено» |
| BN14 | ShiftCompleted | Обидва | Няня завершила зміну | «Зміну завершено» |
| BN15 | EventCompleted | Обидва | Аніматор завершив свято | «Свято завершено» |
| BN16 | BookingRatingRequested / EventRatingRequested / OnlineSessionRatingRequested | Обидва | «Оплачено» | «Оплату отримано»: залиште оцінку |
| BN17 | BookingCancelled / EventCancelled / OnlineSessionCancelled | Обидва (виконавець — якщо вже призначений) | Скасування | «Бронювання скасовано»; якщо щось було сплачено карткою — рядок «Повернення: … EUR (N%)» |
| BN18 | booking-status-changed (лише дзвіночок) | Обидва | Будь-яка зміна статусу | «Бронювання №…: <статус>» |
| BN20 | BookingAwaitingPrepayment | Клієнт | Обрано виконавця з передоплатою | «Сплатіть передоплату»: … EUR карткою, щоб підтвердити бронювання |
| BN21 | BookingSelectedAwaitingPrepayment | Виконавець | Клієнт обрав виконавця з передоплатою | «Клієнт обрав вас»: бронювання підтвердиться після передоплати |
| BN22 | BookingPaymentDue | Клієнт | Карткове бронювання завершено | «Сплатіть бронювання»: … EUR карткою на сторінці бронювання |
| BN23 | BookingPaymentFailed | Клієнт | Оплата на сторінці платіжної системи не пройшла | «Оплата не пройшла»: спробуйте ще раз |
| BN24 | BookingPaymentReturned | Клієнт | Оплата надійшла, коли платити вже не треба було (бронювання скасовано або вже сплачено) | «Оплату повернено»: … EUR повернуто на картку |
| BN25 | booking-payment-completed (лише дзвіночок) | Клієнт | Платіжна система підтвердила оплату (передоплата, решта або вся сума) | «Оплату за бронювання №… прийнято» |
| BN26 | booking-payment-failed (лише дзвіночок) | Клієнт | Оплата не пройшла | «Оплата за бронювання №… не пройшла» |
| BN27 | BookingDirectRequest + booking-available | Лише обраний виконавець | Клієнт надіслав пряму заявку (1.8) | «Пряме бронювання»: клієнт надіслав заявку №… «послуга» саме вам; відгукніться або відмовтеся в «Доступних заявках». |
| BN28 | BookingDirectDeclined | Клієнт | Обраний виконавець відмовився від прямої заявки — вона стала загальною | «Виконавець відмовився»: заявку відкрито для всіх виконавців. |
| BN29 | BookingPrepaymentExpired | Обидва | Передоплату не сплачено за строк послуги — бронювання скасовано (1.7) | «Бронювання скасовано: передоплату не внесено» (протягом N год); клієнту — можна створити нову заявку. |
| BN30 | Лист meeting (заплановано / скасовано / нагадування) | Виконавець без Google Календаря | Клієнт запланував або скасував співбесіду; онлайн-сесію підтверджено; за 30 і 15 хв до зустрічі | «Заплановано зустріч» з деталями бронювання й зустрічі і кнопкою Meet; «Зустріч скасовано»; «Нагадування: зустріч за 30 / 15 хв». Виконавець з Google Календарем отримує замість цього запрошення й нагадування від Google. |
| BN19 | booking-selected (лише дзвіночок) | Виконавець | Клієнт обрав саме його | «Клієнт обрав вас виконавцем для бронювання …» |
6.3. Сповіщення по циклах
| Цикл | Сповіщення |
|---|---|
| Няня (розділ 2) | BN27/BN28 (пряме бронювання), BN29 (строк передоплати), BN30 (співбесіда); BN1, BN2, BN4, BN5 + BN19 (або BN20/BN21 + BN6 при передоплаті), BN8/BN9 (готівка) або BN22 + BN25/BN26 (картка), BN10, BN14, BN16, BN18 на кожен крок; BN17 при скасуванні |
| Свято (розділ 3) | BN1, BN3, BN4, BN5 + BN19 (або BN20/BN21 + BN6), BN8/BN9 або BN22 + BN25/BN26, BN11, BN15, BN16, BN18; BN17 з сумою повернення |
| Онлайн-консультація (розділ 4) | BN27/BN28, BN29, BN30 (співбесіда, сесія); BN1, BN2, BN4, BN5 + BN7 + BN19 (або BN20/BN21 + BN6), BN12, BN13, BN22 + BN25/BN26 (картка), BN16, BN18; BN17 |
7. Виправлено під час підготовки документа та відкриті питання
Усі три цикли пройдено в браузері від імені клієнта, виконавця й адміністратора. Знайдені проблеми виправлено й покрито тестами: API-тести backend-tests/api/booking* і Playwright frontend-tests/e2e/booking. На продакшн виправлення потраплять з наступним деплоєм.
7.1. Виправлено
| # | Що було | Що зроблено |
|---|---|---|
| B1 | Жодне сповіщення про бронювання не доходило: push отримував лише код події, SMS — порожній текст, лист не рендерився. Усі записи черги закінчувались статусом «вичерпано». | Перекладені тексти (5 мов), лист із кнопкою «Відкрити бронювання», каскад push → email мовою користувача. Дзвіночок — на кожну зміну статусу. |
| B2 | Ціна бронювання няні не зберігалась (лише показувалась у розрахунку), тож оплата й комісія на «Оплачено» тихо пропускались. Ціну онлайн-консультації записував браузер — клієнт міг надіслати будь-яку суму. | Ціну рахує сервер: тариф для няні, хвилини для консультації, пропозиція обраного виконавця для свята. Ціну й спосіб оплати з браузера ігнорує. |
| B3 | Онлайн-консультація після підтвердження клієнтом одразу ставала «Підтверджено» без виконавця. Жоден виконавець її не отримував. | Додано етап «Пошук виконавця»: заявка в «Доступних заявках», відгук, вибір клієнтом; відеозустріч створюється при виборі. Без підключеного Google Calendar підтвердження не відбувається. |
| B4 | Після «Завершити сесію» консультація застрягала в «Сесію завершено»: далі не було жодної дії. | Завершення сесії одразу завершує бронювання. |
| B5 | Свята й консультації ніколи не доходили до «Оплачено»: картка не закривалась автоматично, а готівку свята міг підтвердити лише координатор. | Як для няні: картка — автоматично (згодом замінено реальною оплатою, B23), готівка — «Підтвердити отримання готівки» виконавцем. |
| B6 | Аніматор, що «Прийняти як є», не мав ціни: бронювання підтверджувалось без суми, передоплата й фінальна оплата пропускались. Аніматор не бачив, який пакет обрав клієнт. | Запрошення несе обраний пакет і його ціну; у «Запрошеннях» видно підказку, форма заповнена. Запрошеному за іменем потрібно вказати ціну. |
| B7 | Сповіщення «нова заявка» няням летіло ще до збереження адреси: отримували й няні з інших зон, а заявка ще не була відкрита. | Розсилка — в момент надсилання заявки, з урахуванням зони. |
| B8 | Клієнт ніяк не дізнавався про відгуки виконавців (ні дзвіночка, ні листа). | Сповіщення «… відгукується на заявку» і автооновлення сторінки бронювання. |
| B9 | Запрошення аніматорам надходило до відкриття заявки і лише в дзвіночок. | Надходить при надсиланні заявки, у дзвіночок і листом. |
| B10 | Статуси («Matching», «Checked in»), причини скасування й фільтри адмінки — англійською, з бази. | Перекладено за кодом у всіх трьох застосунках (5 мов). |
| B11 | Час бронювань показувався на 2–3 години раніше (зона без часового поясу → UTC; назву поясу на кшталт «Europe/Kyiv» сторінки ігнорували), а дата свята в запрошеннях зсувалась на день назад. | Запасний пояс — київський (у ньому ж перевіряється доступність), назви поясів підтримуються з урахуванням літнього часу, дата свята показується як календарна. |
| B12 | Клієнт бачив «Бронювання №186», а в листах і дзвіночку — «№BK-2026-…». | Скрізь один номер BK-…. |
| B13 | Помилки дій мовчки ігнорувались: кнопка просто переставала крутитись. | Спливне повідомлення з причиною (клієнт і виконавець). |
| B14 | Виконавцю пропонували оцінити клієнта вже на «Завершено», але надсилання завжди падало. | Форма — лише після оплати. |
| B15 | «Доступні заявки»: лише няня; заявки з минулим часом висіли назавжди; таблиця обрізала кнопку «Не цікаво»; години «3.00». | Няня й консультації разом, минулі приховано, таблиця прокручується, «3 год» / «45 хв». |
| B16 | Скасована заявка лишалась у виконавця з позначкою «Очікує» назавжди. | Показуються лише відкриті заявки. |
| B17 | Скасування не перевіряло поточний статус: через API можна було скасувати бронювання, що триває або вже оплачене. | Скасування дозволене лише там, де його дозволяє схема статусів для ролі. |
| B18 | Майстер консультації пропонував «Я погоджуюсь на запис цієї сесії», хоча запис не ведеться. «Приєднатися до дзвінка» лишалось після завершення й оплати. | Галочку прибрано; посилання — лише до кінця сесії. |
| B19 | Дрібниці інтерфейсу: «Спосіб: Оплатити готівкою»; у списку клієнта «Призначено» замість імені і «Шукаємо виконавця…» для скасованих; сирі ключі «common.status», «common.clear_filters»; «Запланано», «Комментар», «ID дитини-іменинника»; порожній блок «Дії» на «Завершено»; дати адмінки англійською і «- EUR»; діалог скасування без поля коментаря і з налізанням тексту; текст після замовлення няні обіцяв «сповіщення в чаті, коли призначать». | Виправлено. |
| B20 | Вітальний лист незалежного виконавця: «Ласкаво просимо до !». Лист радив «відкрити застосунок». | Назва платформи; веб-текст із кнопкою входу (5 мов). |
| B21 | Технічне: тіла запитів прибуття, завершення, команди, способу оплати, запрошення й вибору приймались без валідації; регіональні налаштування за замовчуванням були продубльовані в чотирьох місцях; сідер статусів не оновлював уже наявні статуси. | Окремі DTO з валідацією; одна спільна константа; сідер синхронізує статуси за кодом. |
| B22 | Індивідуальний тариф няні («Мій тариф») не впливав на ціну бронювання: ціна завжди рахувалась за загальним тарифом. | У вікні відгуку няня обирає «За моїм тарифом» (за замовчуванням, якщо тариф є) або «За тарифом системи». Сервер рахує обидві ціни, клієнт бачить ціну виконавця у відгуку, при виборі вона стає ціною бронювання. |
| B23 | Оплата карткою не списувала грошей: бронювання саме переходило в «Оплачено», а записи оплат лишались «очікує». Передоплата свята 30% записувалась як «сплачена» без жодного платежу і ще до вибору способу оплати. | Клієнт сплачує на сторінці платіжної системи (LiqPay / Stripe; локально — тестова сторінка). «Оплачено» настає лише після оплати. Фіксовані 30% прибрано: передоплату за бажанням встановлює виконавець у відгуку для будь-якої послуги, тоді оплата лише карткою. |
| B24 | Повернення передоплати при скасуванні лише показувалось у повідомленні і лише для свят; штраф за пізнє скасування не застосовувався. | Повернення проводиться через платіжну систему за правилами послуги (адмінка, окремо для кожної послуги). Скасування виконавцем або платформою — 100%. Утримана частина ділиться між платформою (налаштовувана частка) і виконавцем. |
| B25 | Будь-яке збереження налаштувань виконавця (IBAN, календар, зона) знімало верифікацію; нової заявки на перевірку не створювалось — глухий кут. | Поведінка керується змінною EXECUTOR_SETTINGS_CHANGE_REVOKES_VERIFICATION; зараз false — верифікація не знімається. |
| B26 | Комісія платформи за готівкові бронювання не списувалась: запит ішов на адресу без id виконавця. | Виправлено; комісія тепер списується і для карткових бронювань (виконавцю зараховується вся сплачена карткою сума). |
| B27 | Знайдено при повторній перевірці. Бронювання з передоплатою 100% після завершення назавжди лишалось «Завершено»: сплачувати було нічого, тож «Оплачено» не наставало, і виконавцю нічого не зараховувалось. | Якщо після завершення нічого не винні, бронювання одразу стає «Оплачено». |
| B28 | Оплата, що надійшла, коли бронювання вже скасовано, або друга оплата тієї самої частини (дві відкриті сторінки оплати) лишалась у платформи без повернення. Оплату зі старішої сторінки взагалі не враховувало. | Таку оплату записано і повністю повернено на картку, клієнт отримує «Оплату повернено» (BN24). |
| B29 | Скасування простою зміною статусу через API (клієнт, диспетчер) обходило повернення коштів і сповіщення. | Будь-яке скасування проходить ті самі правила повернення й сповіщення. |
| B30 | Обраний виконавець не мав кнопки, щоб відмовитися (вона була лише під час пошуку); у статусі «Очікує передоплату» блок «Дії» був порожній. | Кнопка «Відмовитися від замовлення» у статусах «Очікує передоплату» і «Підтверджено»; клієнту повертається 100%. |
| B31 | Після оплати на сторінці LiqPay клієнт повертався без позначки повернення: сторінка не звіряла оплату з платіжною системою і нічого не повідомляла. Якщо повідомлення LiqPay запізнювалось, клієнт бачив «Очікує передоплату» вже після оплати. | Повернення завжди звіряє оплату; повідомлення показується за фактичним станом оплати («прийнято» / «не завершено» / «обробляється»). |
| B32 | Спосіб оплати можна було змінити через API будь-коли, навіть після «Оплачено». Перехід з картки на готівку пропускав підтвердження обох сторін (картка вже позначила їх). | Спосіб — лише до початку виконання; з картки на готівку — підтвердження знову потрібні. |
| B33 | Повторний вибір виконавця на вже підтвердженому чи скасованому бронюванні встигав переписати виконавця й ціну, перш ніж сервер відмовляв. | Статус перевіряється до будь-яких змін; повідомлення «Виконавця для цієї заявки вже обрано або її закрито». |
| B34 | Аніматор міг відповісти з чужим пакетом або з ціною 0 (тоді не було б чого сплачувати й передоплачувати). | Лише власний пакет і ціна більша за нуль. |
| B35 | Сервер приймав бронювання з початком у минулому або з кінцем не пізніше за початок — останнє створювалось узагалі без ціни. | Такі бронювання відхиляються з поясненням. |
| B37 | Ціну онлайн-консультації в майстрі клієнта рахував браузер, а запит розрахунку до сервера для консультації взагалі не працював (сервер відхиляв тривалість у хвилинах). | Розрахунок робить сервер (з урахуванням мінімальної ціни) — клієнт бачить ту саму суму, що запишеться в бронювання. |
| B38 | У вікні «Додати тариф» послуги називались англійською («Nanny booking»), список стояв впритул до підпису. | Назви послуг мовою інтерфейсу, підпис над полем. |
| B39 | У налаштуваннях компанії «Платіжний шлюз» не було LiqPay (лише Stripe і Exactly). Реєстрація картки через LiqPay списувала 1 грн, яку ніхто не повертав. | У списку — Stripe і LiqPay; 1 грн після реєстрації картки повертається. Шлюз Exactly повністю видалено з проєкту. |
| B40 | Після завершення без передоплати клієнт бачив «Сплатіть решту карткою», хоча ще нічого не платив. | Без передоплати — «Послугу надано. Сплатіть її карткою»; «решту» — лише після передоплати. |
| B41 | На святі поруч із «Запрошено, очікують відповіді» показувалось «Шукаємо доступного виконавця…», хоча нікого не шукають. | Для запрошених аніматорів показується лише блок запрошень. |
| B42 | Сервер повідомляв клієнта про прийняту / невдалу оплату, але дзвіночок клієнта ці події ігнорував. | «Оплату за бронювання №… прийнято» / «…не пройшла» у дзвіночку (BN25, BN26), 5 мов. |
| B43 | Нічна надбавка й надбавка за вихідні рахувались за часом сервера (UTC): бронювання на 23:00 за Києвом надбавки не отримувало, а на 07:00 — отримувало. | Коефіцієнти рахуються за київським часом (1.4). |
| B44 | Коефіцієнт тарифу, відредагований без зміни множника, не зберігався (множник приходив із бази рядком і не проходив перевірку). | Множник завжди число; збереження працює. |
| B45 | Скасування простою зміною статусу не записувало дату скасування. | Дата скасування ставиться за будь-якого способу. |
| B46 | У «Доступних заявках» пряма заявка губилась серед інших. | Прямі заявки — першими, з позначкою. |
| B36 | Відмови в доступі до заявки (послуга не активна, заблоковано за борг, чорний список, поза графіком/зоною) приходили виконавцю технічним англійським текстом з id. | Перекладені повідомлення (5 мов). |
| B47 | Підбір виконавців ранжував за рейтингом, який завжди був 0 (бралася таблиця, куди оцінки за бронювання не записуються): поріг рейтингу не відсіював нікого, порядок не залежав від оцінок. | Рейтинг — середнє оцінок клієнтів за бронювання виконавця. |
7.2. Відкриті питання та рішення
Відкритих питань немає.
Рішення, ухвалені свідомо:
- Повторна верифікація при зміні реквізитів — лишається як є: зміна налаштувань не знімає верифікацію (B25). Якщо колись потрібно буде перевіряти зміну, наприклад, IBAN, — окремою заявкою у «Верифікаційних заявках».
- Мобільні застосунки і застосунок компаній у цьому документі не розглядались і не змінювались.