← Усі посібники

Бронювання Babunia

Посібник користувача: клієнт, виконавець, адміністратор. Скріншоти зроблено на локальному стенді 2026-11-07.

Зміст

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

  1. Бронювання: послуги, статуси, передумови
  2. Замовлення няні
  3. Заходи та вечірки (аніматори)
  4. Онлайн-консультація з догляду
  5. Сторінки бронювань
  6. Сповіщення про бронювання
  7. Виправлено під час підготовки документа та відкриті питання

1. Бронювання: послуги, статуси, передумови

Бронювання — це замовлення послуги клієнтом (батьками) у виконавця (няні, аніматора, консультанта). Зараз на платформі можна забронювати три послуги. Кожна має власний майстер замовлення і свій шлях статусів, але логіка однакова: клієнт описує, що потрібно; виконавці відгукуються; клієнт обирає одного; виконавець надає послугу; оплата; взаємні оцінки.

1.1. Які послуги можна забронювати

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

Для няні в розрахунку клієнт бачить ціну за загальним тарифом платформи. Няня, у якої є власний тариф («Мій тариф»), може відгукнутися за ним: тоді клієнт бачить у відгуку її ціну, і саме вона стає ціною бронювання, якщо клієнт обере цю няню (розділ 2.2).

Назви коефіцієнтів (наприклад, «Нічна надбавка», «Надбавка за вихідні») задаються п'ятьма мовами: у формі коефіцієнта (адмінка → «Тарифи» → рядок тарифу → «Коефіцієнти», так само у «Мій тариф» виконавця) для кожної мови — своє поле, українська обов'язкова, решта за бажанням. Клієнт бачить назву в розрахунку ціни своєю мовою; якщо перекладу немає — українською. Таблиця коефіцієнтів показує назву мовою інтерфейсу.

Назви коефіцієнта п'ятьма мовами
Адміністратор: коефіцієнт «Нічна надбавка» — назва для кожної мови (UK обов'язкова).
Нічна надбавка в розрахунку
Клієнт (українська): бронювання на 23:00 — у розрахунку «Нічна надбавка ×1.5».
Мій тариф
«Мій тариф» виконавця: базова ціна, ціна за годину, мінімум годин.
Мінімальна ціна в тарифі
Редагування тарифу: під полями — мінімальна ціна замовлення цієї послуги.

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

Вибір послуги
Крок «Послуга» в клієнтському кабінеті: три доступні послуги і дві з позначкою «Ця функція скоро буде доступна».

1.2. Статуси бронювання

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

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

Шляхи статусів по послугах

«Очікує передоплату» буває лише тоді, коли обраний виконавець у своєму відгуку вказав, що працює за передоплатою (розділ 1.7).

Скасувати можна з будь-якого статусу до початку виконання. Сервер перевіряє, чи дозволена дія з поточного статусу для ролі користувача, тому ні кнопкою, ні напряму через API не можна, наприклад, скасувати оплачене бронювання.

1.3. Що потрібно виконавцю, щоб отримувати заявки

Заявку бачать і можуть на неї відгукнутися лише виконавці, які відповідають усім умовам нижче. Якщо хоч однієї бракує, заявка просто не з'являється у виконавця — без повідомлень про помилку.

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

1.4. Час і часові пояси

Час заявки клієнт вводить у своєму браузері. Сторінки показують його в часовому поясі зони клієнта (виконавця), а якщо пояс для зони не задано — за київським часом. Графік доступності виконавця теж рахується за київським часом, і так само коефіцієнти тарифу: нічна надбавка 22:00–06:00 діє за київським годинником (бронювання на 23:00 за Києвом її отримує, на 07:00 — ні), вихідні — за київським днем тижня. Дата свята показується як календарна дата, без зсуву на інший день.

1.5. Гроші: оплата, комісія, реферали

1.6. Хто що бачить

РольСторінки
Клієнт«Замовити послугу» (майстри), «Мої бронювання», сторінка бронювання з відгуками, оплатою, чатом, оцінкою
Виконавець«Доступні заявки», «Запрошення», «Мої бронювання», сторінка бронювання з діями, «Пакети подій», «Доступність», «Зони обслуговування», «Тарифи»
Адміністратор«Бронювання» (усі бронювання платформи, перегляд і фільтри), «Пакети подій» (усі пакети)

1.7. Передоплата і повернення при скасуванні

Виконавець сам вирішує, чи працює за передоплатою. Рішення приймається для кожної заявки окремо, у вікні відгуку.

  1. Виконавець відгукується з передоплатою. У вікні відгуку позначає «Працюю за передоплатою» і вказує відсоток: за замовчуванням 10, можна від 1 до 100. Вікно одразу показує суму, наприклад «= 18.00 EUR».
  2. Клієнт бачить умови у відгуку: «Передоплата 20% (18.00 EUR), лише картка». Обравши такого виконавця, клієнт отримує статус «Очікує передоплату» і кнопку «Сплатити передоплату 18.00 EUR». Готівку обрати не можна.
  3. Клієнт сплачує передоплату. Кнопка веде на сторінку платіжної системи (LiqPay або Stripe — залежно від налаштувань платформи). Після оплати клієнт повертається на сторінку бронювання, і воно стає «Підтверджено». Обидві сторони отримують «Передоплату сплачено».
    • Якщо оплата не пройшла або клієнт закрив сторінку оплати, бронювання лишається «Очікує передоплату», і можна спробувати ще раз.
    • Повернувшись зі сторінки оплати, клієнт бачить повідомлення за фактичним станом оплати: «Оплату прийнято», «Оплату не завершено» або «Оплата обробляється платіжною системою…» — тоді сторінка оновиться сама, щойно платіжна система підтвердить оплату.
  4. Після завершення клієнт сплачує залишок кнопкою «Сплатити 72.00 EUR», і бронювання стає «Оплачено». Якщо передоплата була 100%, платити більше нічого: бронювання стає «Оплачено» одразу після завершення.

Строк на передоплату

Бронювання чекає передоплату обмежений час — строк передоплати послуги: адміністратор задає його в годинах («Каталог послуг» → олівець біля послуги → «Строк передоплати»); порожнє поле — 24 години (типове значення платформи). Відлік іде від моменту вибору виконавця.

Строк передоплати послуги
Адміністратор: «Строк передоплати» послуги (12 год; порожнє — 24 год).
Строк передоплати в клієнта
Клієнт: бронювання «Очікує передоплату» — строк у блоці «Оплата».

Зайва оплата повертається сама. Якщо гроші надійшли, коли платити вже не треба було (клієнт відкрив сторінку оплати двічі й сплатив обидві, або бронювання скасували, поки клієнт був на сторінці оплати), ця оплата повністю повертається на картку, а клієнт отримує сповіщення «Оплату повернено».

Повернення при скасуванні

Відгук з передоплатою
Виконавець: відгук за власним тарифом з передоплатою 20%.
Очікує передоплату
Клієнт: «Очікує передоплату», кнопка «Сплатити передоплату 18.00 EUR».
Сторінка оплати
Сторінка оплати (на тестовому стенді — тестова сторінка без реальних грошей, на продакшні — LiqPay/Stripe).
Оплату не завершено
Оплата на сторінці платіжної системи не пройшла: «Оплату не завершено», бронювання далі «Очікує передоплату», кнопку можна натиснути ще раз.
Оплату прийнято
Оплата пройшла: «Оплату прийнято», бронювання «Підтверджено».
Передоплату сплачено
Після оплати: «Підтверджено», у блоці «Оплата» — «Передоплата 18.00 EUR карткою, сплачено».
Скасування з поверненням
Скасування за 6 годин до початку: повернеться 50% передоплати.
Частково повернено
Після скасування: «частково повернено, повернено 15.00 EUR».

1.8. Пряме бронювання

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

Звідки клієнт робить пряме бронювання

Посилання для клієнтів
Виконавець: «Посилання для клієнтів» над вкладками публічного профілю.
Профіль виконавця з прямим бронюванням
Клієнт після переходу за посиланням: виконавець «В улюблених», картка «Пряме бронювання».
Улюблені виконавці
«Улюблені виконавці»: кнопка прямого бронювання в рядку.

Як іде заявка

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

«Зробити загальним»

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

Зробити загальним
Клієнт: «Тип бронювання — Пряме бронювання», підтвердження «Зробити загальним».

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 години, базова ціна, ціна за годину, коефіцієнт вихідного дня, разом 44.4 EUR.
Мінімальна ціна в розрахунку
За тарифом вийшло менше за мінімальну ціну послуги (тут 60 EUR) — «Разом» показує мінімальну, нижче пояснення.

Крок 4. Готово

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

Готово
Підтвердження з номером бронювання.

2.2. Пошук виконавця: відгуки нянь

Клієнт

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

Пошук виконавця
Бронювання в статусі «Пошук виконавця»: розклад, адреса, зона, примітки, ціна.

Виконавець: «Доступні заявки»

Меню «Бронювання» → «Доступні заявки». Таблиця відкритих заявок на няню й онлайн-консультації, які підходять саме цьому виконавцю (див. 1.3): «Сервіс», «Адреса / формат», «Час на коли», «Кількість дітей», «Тривалість» і дві кнопки:

Нова заявка з'являється в таблиці без оновлення сторінки, у дзвіночку приходить «Нове доступне замовлення». Лічильник біля пункту меню показує, скільки заявок відкрито.

Доступні заявки
«Доступні заявки» виконавця.

Вікно відгуку: тариф і передоплата

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

Ціну рахує сервер за обраним тарифом, браузер її не передає.

Вікно відгуку
Вікно відгуку: власний тариф (90 EUR) і тариф системи (29 EUR).
Очікує рішення клієнта
«Мої бронювання»: заявка, на яку няня відгукнулась, з позначкою «Очікує».

Клієнт обирає

Коли няня відгукнулась, у дзвіночку клієнта з'являється «Марія Коваль відгукується на заявку №BK-…», приходить лист. Сторінка бронювання оновлюється сама. З'являється блок «Виконавці, які відгукнулись». Для кожного виконавця показано:

Кнопки:

Ціна і передоплата у відгуку
Відгук з ціною за тарифом виконавця і передоплатою.
Сповіщення про відгук
Дзвіночок клієнта: «Марія Коваль відгукується на заявку №BK-…».
Відгуки
«Виконавці, які відгукнулись».
Профіль кандидата
Публічний профіль кандидата.
Виконавця обрано
Дзвіночок виконавця після вибору клієнтом.

2.3. Підтверджено: оплата і подвійне підтвердження

Після вибору клієнт бачить праворуч блок «Виконавець» (ім'я, «Переглянути профіль», «Подзвонити», вбудований чат) і блок «Оплата» з ціною та двома кнопками.

Підтверджено - вибір оплати
Клієнт: «Підтверджено», вибір способу оплати.
Очікуємо виконавця
Готівка: клієнт підтвердив, чекає на виконавця.
Виконавець підтверджує
Виконавець: «Підтвердити замовлення» в блоці «Оплата».

2.4. Зміна: прибуття, початок, завершення

Усі дії — у блоці «Дії» на сторінці бронювання виконавця.

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

Якщо дію виконати не вдалося (наприклад, послугу заблоковано через заборгованість), з'являється спливне повідомлення з причиною.

Прибуття
Виконавець відмітив прибуття.
Клієнт бачить Няня на місці
У клієнта: «Няня на місці».
Завершено, готівка
«Завершено», готівка: кнопка «Підтвердити отримання готівки».

Оплата карткою після завершення

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

Сплатити залишок
«Завершено»: «Сплатити 72.00 EUR».
Оплачено карткою
«Оплачено»: передоплата 18 і залишок 72 EUR.

2.5. Оцінки, улюблені, чорний список

Оцінювання
Клієнт: «Оплачено», форма оцінки.
Оцінено
Після оцінки: «Оцінено».
Цей виконавець
Після завершення: блок «Цей виконавець» з «Додати в улюблені» і «Заблокувати виконавця» (кожна дія — з підтвердженням).

2.6. Скасування

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

2.7. Сповіщення в цьому циклі

ПодіяКлієнтВиконавець
Заявку надісланоЛист «Заявку надіслано»Дзвіночок «Нове доступне замовлення» (усім, кому підходить)
Виконавець відгукнувсяДзвіночок + лист «Новий відгук на заявку»—
Клієнт обрав виконавцяДзвіночок «Бронювання №…: Підтверджено» + лист «Бронювання підтверджено»Дзвіночок «Клієнт обрав вас…» + лист
Готівка: одна сторона підтвердилаДзвіночок + лист «Виконавець підтвердив замовлення»Дзвіночок + лист «Клієнт підтвердив замовлення»
Прибуття / початокДзвіночок зі статусом + лист «Няня на місці»Дзвіночок зі статусом
ЗавершеноДзвіночок + лист «Зміну завершено»Дзвіночок + лист
ОплаченоДзвіночок + лист «Оплату отримано»Дзвіночок + лист
СкасованоДзвіночок + лист «Бронювання скасовано»Дзвіночок + лист (якщо виконавця вже призначено)
Пряме бронювання (1.8)Якщо обраний виконавець відмовився — «Виконавець відмовився: заявку відкрито для всіх»Лише обраний: «Пряме бронювання»
Не сплачено передоплату вчасно (1.7)«Бронювання скасовано: передоплату не внесено»Те саме
Співбесіда (2.8)— (подія у своєму Google Календарі)Запрошення від Google або листи: «Заплановано зустріч», «Зустріч скасовано», нагадування за 30 і 15 хв

2.8. Співбесіда з кандидатом (Google Meet)

Перш ніж обрати виконавця, клієнт може поговорити з ним по відео. Співбесіду можна запланувати з будь-ким, хто відгукнувся (і з уже обраним), — для няні й онлайн-консультації.

  1. На сторінці бронювання, в рядку кандидата в «Виконавці, які відгукнулись» — блок зустрічі з кнопкою «Запланувати співбесіду».
  2. Якщо Google Календар клієнта не підключено — спершу «Підключити Google Календар» (сторінка згоди Google, потім повернення на ту саму сторінку). Підключити можна й заздалегідь: профіль → вкладка «Google Календар».
  3. Вікно «Запланувати співбесіду»: дата, час, тривалість (від 15 до 240 хв, за замовчуванням 30), підказка «Нагадування прийдуть за 30 і 15 хв». «Запланувати» / «Скасувати». Час у минулому не приймається; з одним кандидатом — одна запланована співбесіда.
  4. У Google Календарі клієнта створюється подія з посиланням Google Meet і нагадуваннями за 30 і 15 хвилин. Блок у рядку кандидата показує «Заплановано на 07.11.2026 16:00–16:30 (30 хв)», посилання з кнопками «Скопіювати» і «Відкрити Google Meet», і як повідомлено виконавця.
  5. Виконавець: якщо він підключив Google Календар (профіль → «Google Календар»), він — учасник події і отримує запрошення від Google. Якщо ні — він отримує листи: деталі (бронювання, послуга, час бронювання, час і посилання зустрічі), а за 30 і 15 хвилин — нагадування. Сам виконавець бачить співбесіду в «Моїх бронюваннях», колонка «Зустріч» (5.3): час і посилання.
  6. «Скасувати» (з підтвердженням) скасовує подію; виконавець отримує лист «Зустріч скасовано». Після скасування можна запланувати нову.
Запланувати співбесіду
Клієнт: вікно «Запланувати співбесіду» з кандидатом.
Співбесіду заплановано
Співбесіду заплановано: час, посилання Meet, «Скопіювати», «Відкрити Google Meet».

Онлайн-сесія консультації (розділ 4) — така сама зустріч: з тими самими нагадуваннями і тим самим правилом для виконавця (учасник у Google або листи).

3. Заходи та вечірки (аніматори)

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

3.1. Виконавець: «Пакети подій»

Пакет — це готова програма свята з ціною. Без активного пакета аніматора не видно на кроці «Аніматори» в майстрі клієнта.

Пакети подій
«Пакети подій» аніматора.
Мінімальна ціна пакета
Ціна пакета нижча за мінімальну: підказка червона, «Зберегти» неактивна.
Новий пакет
Вікно створення пакета.

3.2. Клієнт: майстер «Замовити аніматора / вечірку»

Відкрити: «Замовити послугу» → «Заходи та вечірки» (/booking/events). Кроки «Деталі події → Аніматори → Готово». «До вибору послуги» повертає до карток послуг.

Крок 1. Деталі події

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

Крок 2. Аніматори

Картки активних пакетів усіх аніматорів, яким доступна послуга (вищий рейтинг — вище). На картці: назва пакета, «Аніматор», «Рейтинг», опис, «Ціна», «Тривалість», «Макс. гостей» і прапорець.

Вибір пакетів
Обрано два пакети двох аніматорів.

Крок 3. Готово

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

Запит надіслано
Останній крок майстра: «Запит надіслано».

3.3. Виконавець: «Запрошення на заходи»

Меню «Бронювання» → «Запрошення». Аніматор отримує дзвіночок «Вас запросили на заявку №BK-…» і лист «Нове запрошення» з кнопкою, що веде сюди.

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

Після відповіді рядок зникає, бронювання з'являється в «Моїх бронюваннях» з позначкою «Очікує». Клієнт отримує «… відгукується на заявку».

Запрошення в дзвіночку
Дзвіночок аніматора: «Вас запросили на заявку №BK-…».
Запрошення
«Запрошення на заходи»: підказка з пакетом і ціною, обраними клієнтом.
Вікно відповіді
«Відповісти»: пакет і ціна підставлені із запрошення, можна змінити й вказати передоплату.

3.4. Клієнт обирає аніматора; передоплата

Очікують відповіді
Запрошений аніматор ще не відповів: «Запрошено, очікують відповіді».
Пропозиції
Клієнт бачить пропозиції двох аніматорів із цінами.

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

Депозит сплачено
Свято підтверджено, депозит сплачено; «Скасувати замовлення» ще доступне.

3.5. День свята

Виконується
Виконавець: свято триває.
Оплачено
«Оплачено» після підтвердження готівки.
Сплатити решту
Клієнт після свята: «Сплатити 105.00 EUR» (150 мінус передоплата 45).
Оплачено, оцінка
Клієнт: «Оплачено», оплати «Передоплата» і «Залишок», форма «Оцінити це бронювання».

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/хв) з коефіцієнтами тарифу на обраний час, але не менше за мінімальну ціну послуги. Суму рахує сервер, і саме вона запишеться в бронювання; поки сервер рахує, замість суми — «...». Якщо застосовано мінімальну ціну, під «Разом» є пояснення.

Мінімальна ціна консультації
60 хв за тарифом — 30 EUR, мінімальна ціна послуги — 40 EUR.
Ціна
Ціна: 60 хв = 30 EUR.
Підключіть Google Calendar
Так виглядає крок для клієнта без підключеного Google Calendar.

Крок 3. Готово

«Заявку надіслано»: відгуки з'являться на сторінці бронювання; оберіть одного — і там же з'явиться посилання на відеозустріч.

4.2. Відгуки і вибір виконавця

Відгуки на консультацію
Клієнт: «Виконавці, які відгукнулись» — ціна, профіль, чат, «Обрати».
Заявка на консультацію
Заявка на консультацію в «Доступних заявках».
Підтверджено, посилання
Клієнт: «Підтверджено», кнопка «Приєднатися до дзвінка», вибір оплати.

4.3. Сесія

Сесія триває
Виконавець: «Сесія триває», кнопка «Завершити сесію».
Клієнт під час сесії
Клієнт під час сесії: статус «Сесія триває», «Приєднатися до дзвінка».
Сплатити консультацію
Клієнт після сесії: «Завершено», «Сплатити 30.00 EUR».
Консультацію сплачено
Клієнт: «Оплачено — 30 EUR (Картка)», форма оцінки.
Після сесії
Виконавець: після завершення сесії і оплати клієнтом — «Оплачено».

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», «Підтвердити замовлення» (готівка, до початку), «Підтвердити отримання готівки» (після завершення), «Оплачено», список оплат.
Оцінити клієнтаЛише після оплати (раніше форма з'являлась уже на «Завершено», і надсилання завжди падало).
Цей клієнтПісля завершення — «Додати в улюблені», «Заблокувати клієнта».
Сторінка бронювання виконавця
Сторінка бронювання виконавця після вибору.
Передоплата у виконавця
Виконавець: передоплата 20% сплачена.

5.5. Адміністратор: «Бронювання», «Пакети подій», правила повернення

Мінімальна ціна послуги
Адміністратор: мінімальна ціна замовлення для послуги.
Правила повернення
Адміністратор: правила повернення і частка платформи для послуги «Замовлення няні».
Бронювання в адмінці
Адміністратор: усі бронювання.
Фільтр статусів
Фільтр «Усі статуси».
Пакети подій в адмінці
Адміністратор: пакети подій.

6. Сповіщення про бронювання

6.1. Як доставляються

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

Одна подія для одного користувача й бронювання не дублюється протягом короткого вікна (повторне натискання кнопки не дасть двох листів).

Дзвіночок клієнта
Дзвіночок клієнта: «Бронювання №BK-…: Оцінено».
Приклад листа
Приклад листа «Бронювання підтверджено» (для клієнта).

6.2. Каталог сповіщень

Ідентифікатор — код події в черзі сповіщень. Тексти лежать у backend/i18n/<мова>/bookings.json (notifications.<код>), лист — шаблон templates/email/<мова>/booking/booking-event-content.hbs. Нумерація BN — для подальшого доповнення.

#КодКомуКолиТекст (uk)
BN1BookingSubmittedКлієнтЗаявку надіслано (будь-яка послуга)«Заявку надіслано»: заявку №… «послуга» надіслано виконавцям…
BN2booking-available (лише дзвіночок)Усі виконавці, яким підходить заявкаНова заявка на няню або консультацію«Нове доступне замовлення»
BN3BookingInvited + booking-invitedЗапрошені аніматориКлієнт надіслав заявку на свято«Нове запрошення»: клієнт запрошує вас на заявку №…
BN4BookingCandidateResponded + booking-candidate-respondedКлієнтВиконавець відгукнувся / відповів на запрошення«Новий відгук на заявку»: Ім'я відгукується на заявку №…
BN5BookingConfirmedОбидваКлієнт обрав виконавця (або виконавець прийняв пряме запрошення)Клієнту: «…підтверджено, виконавця призначено. Оберіть спосіб оплати». Виконавцю: «Клієнт обрав вас виконавцем…»
BN6BookingPrepaymentPaidОбидваКлієнт сплатив передоплату (будь-яка послуга)«Передоплату сплачено»: передоплату … EUR сплачено, бронювання підтверджено
BN7OnlineSessionReminderКлієнтКонсультацію підтверджено (створено Meet)«Онлайн-сесію заплановано»: посилання в картці бронювання, запрошення в Google Календарі
BN8ClientConfirmedCashВиконавецьКлієнт підтвердив готівкове замовлення«Клієнт підтвердив замовлення… Підтвердіть зі свого боку»
BN9ExecutorConfirmedCashКлієнтВиконавець підтвердив готівкове замовлення«Виконавець підтвердив замовлення»
BN10NannyCheckedInКлієнтНяня відмітила прибуття«Няня на місці»
BN11AnimatorCheckedInКлієнтАніматор відмітив прибуття«Аніматор на місці»
BN12OnlineSessionStartedОбидваВиконавець почав сесію«Сесія почалася» (клієнту — приєднатися за посиланням)
BN13OnlineSessionEndedОбидваСесію завершено«Сесію завершено»
BN14ShiftCompletedОбидваНяня завершила зміну«Зміну завершено»
BN15EventCompletedОбидваАніматор завершив свято«Свято завершено»
BN16BookingRatingRequested / EventRatingRequested / OnlineSessionRatingRequestedОбидва«Оплачено»«Оплату отримано»: залиште оцінку
BN17BookingCancelled / EventCancelled / OnlineSessionCancelledОбидва (виконавець — якщо вже призначений)Скасування«Бронювання скасовано»; якщо щось було сплачено карткою — рядок «Повернення: … EUR (N%)»
BN18booking-status-changed (лише дзвіночок)ОбидваБудь-яка зміна статусу«Бронювання №…: <статус>»
BN20BookingAwaitingPrepaymentКлієнтОбрано виконавця з передоплатою«Сплатіть передоплату»: … EUR карткою, щоб підтвердити бронювання
BN21BookingSelectedAwaitingPrepaymentВиконавецьКлієнт обрав виконавця з передоплатою«Клієнт обрав вас»: бронювання підтвердиться після передоплати
BN22BookingPaymentDueКлієнтКарткове бронювання завершено«Сплатіть бронювання»: … EUR карткою на сторінці бронювання
BN23BookingPaymentFailedКлієнтОплата на сторінці платіжної системи не пройшла«Оплата не пройшла»: спробуйте ще раз
BN24BookingPaymentReturnedКлієнтОплата надійшла, коли платити вже не треба було (бронювання скасовано або вже сплачено)«Оплату повернено»: … EUR повернуто на картку
BN25booking-payment-completed (лише дзвіночок)КлієнтПлатіжна система підтвердила оплату (передоплата, решта або вся сума)«Оплату за бронювання №… прийнято»
BN26booking-payment-failed (лише дзвіночок)КлієнтОплата не пройшла«Оплата за бронювання №… не пройшла»
BN27BookingDirectRequest + booking-availableЛише обраний виконавецьКлієнт надіслав пряму заявку (1.8)«Пряме бронювання»: клієнт надіслав заявку №… «послуга» саме вам; відгукніться або відмовтеся в «Доступних заявках».
BN28BookingDirectDeclinedКлієнтОбраний виконавець відмовився від прямої заявки — вона стала загальною«Виконавець відмовився»: заявку відкрито для всіх виконавців.
BN29BookingPrepaymentExpiredОбидваПередоплату не сплачено за строк послуги — бронювання скасовано (1.7)«Бронювання скасовано: передоплату не внесено» (протягом N год); клієнту — можна створити нову заявку.
BN30Лист meeting (заплановано / скасовано / нагадування)Виконавець без Google КалендаряКлієнт запланував або скасував співбесіду; онлайн-сесію підтверджено; за 30 і 15 хв до зустрічі«Заплановано зустріч» з деталями бронювання й зустрічі і кнопкою Meet; «Зустріч скасовано»; «Нагадування: зустріч за 30 / 15 хв». Виконавець з Google Календарем отримує замість цього запрошення й нагадування від Google.
BN19booking-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. Відкриті питання та рішення

Відкритих питань немає.

Рішення, ухвалені свідомо: