Jobit — прогон сценариев на staging, 09.10.2026

Staging и прод на одном коммите d893a91. Мобильная ширина 390 px. Тестовые пользователи «ТЕСТ QA 09.10»: заказчики в Минске и Гомеле, 4 исполнителя в Минске, 2 в Гомеле.

Как читать. Слева — экраны заказчика (настоящий сайт staging), справа — то, что видели исполнители. Синие «пузыри» — сообщения Telegram-бота. На staging бот выключен, поэтому тексты получены вызовом тех же серверных функций с перехватом отправки: это ровно тот текст и кнопки, которые ушли бы в Telegram. Ссылки-токены из кнопок убраны. Нажатия кнопок бота (Принять, Договорились, сумма, подтверждение выхода) выполнены теми же сервисными функциями, что вызывает бот.

Найденное

ВажностьГдеЧто
ВысокийСценарий 2Оценка смены невозможна: «Заказ ещё не выполнен» (409) после «Смена завершена»; нет оценки каждого исполнителя.
СреднийФорма заявкиГород не определился (IP вне РБ) → список городов под затемнением, отправить заявку нельзя.
СреднийStagingСсылки в SMS и Telegram на staging ведут на прод-домен jobit.by (WEBAPP_URL).
НизкийСценарий 1«Через 15 15 минут без звонка…» — двойное число.
НизкийСценарий 1Согласованные дата и время не показаны заказчику; адрес из формы не виден в «Где».
НизкийСценарий 2Резерву при старте смены не сообщают, что он не понадобился.
НизкийСценарий 2Страница отклика: ошибки гидратации React #418/#422 в консоли.
ВопросСценарий 1«Мастер приехал?» после подтверждения суммы — нужен ли вопрос?

Сценарий 1. «Мастер на час»: 4 мастера в Минске, 2 в Гомеле

1Заказчик из Минска оформляет «Мастер на час»

Заказчик

Форма: что нужно сделать
Форма: что нужно сделать
Шаг: когда, телефон, адрес
Шаг: когда, телефон, адрес
Заполнено, согласия отмечены
Заполнено, согласия отмечены

Исполнители

—

2Заявка №10008 создана — рассылка только по Минску

Получатели по подпискам: Андрей, Иван, Пётр, Сергей (все Минск). Олег и Максим (Гомель) не получили — верно.

Заказчик

Экран «Заявка создана», шкала статусов
Экран «Заявка создана», шкала статусов

Исполнители

🤖 Jobit-бот → Андрей (Минск)
🔴 Андрей (Минск), новый заказ №10008
Мастер на час · создан 1 минуту назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN
💼 Комиссия: 15% до 200 BYN, 10% от 200 BYN

Телефон заказчика откроется после «Принять»
✅ Принять🙅 Не интересно
🤖 Jobit-бот → Иван (Минск)
🔴 Иван (Минск), новый заказ №10008
Мастер на час · создан 1 минуту назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN
💼 Комиссия: 15% до 200 BYN, 10% от 200 BYN

Телефон заказчика откроется после «Принять»
✅ Принять🙅 Не интересно
🤖 Jobit-бот → Пётр (Минск)
🔴 Пётр (Минск), новый заказ №10008
Мастер на час · создан 1 минуту назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN
💼 Комиссия: 15% до 200 BYN, 10% от 200 BYN

Телефон заказчика откроется после «Принять»
✅ Принять🙅 Не интересно
🤖 Jobit-бот → Сергей (Минск)
🔴 Сергей (Минск), новый заказ №10008
Мастер на час · создан 1 минуту назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN
💼 Комиссия: 15% до 200 BYN, 10% от 200 BYN

Телефон заказчика откроется после «Принять»
✅ Принять🙅 Не интересно

3Пётр жмёт «Принять» первым; остальным — «взял другой»

Иван нажал «Принять» на секунду позже — сервер ответил 409 ORDER_TAKEN.

🐞 Текст у заказчика: «Через 15 15 минут без звонка…» — число выводится дважды (front/app/orders/OrderScreens.tsx:265, plural() уже подставляет число).

Заказчик

Заказчик видит мастера и его телефон
Заказчик видит мастера и его телефон
🤖 Jobit-бот → Заказчик (Минск)
Пётр (Минск) принял заявку и позвонит в течение 15 минут с номера +375290009104. Держите телефон рядом.
Открыть заявку

Исполнители

🤖 Jobit-бот → Пётр (Минск)
✅ Заказ №10008 ваш! Позвоните заказчику

Контакты клиента
👤 Заказчик Минск
📞 +375290009101
📍 Минск, весь город, ул. Притыцкого, 10

⏱ Осталось на звонок: 15:00
🤝 Договорились
📵 Не дозвонился✖️ Не договорились
🤖 Jobit-бот → Иван (Минск)
⚪️ Заказ уже взял другой мастер
Заказ №10008
Мастер на час · создан 14 минут назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN

Не успели — ничего страшного. Нажмите «⏰ Сообщить, если освободится» — если мастер не договорится с заказчиком, пришлём заказ вам.
🤖 Jobit-бот → Сергей (Минск)
⚪️ Заказ уже взял другой мастер
Заказ №10008
Мастер на час · создан 14 минут назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN

Не успели — ничего страшного. Нажмите «⏰ Сообщить, если освободится» — если мастер не договорится с заказчиком, пришлём заказ вам.
🤖 Jobit-бот → Андрей (Минск)
⚪️ Заказ уже взял другой мастер
Заказ №10008
Мастер на час · создан 14 минут назад

📝 Задача: Повесить полку и карниз, собрать тумбу

📍 Адрес: Минск, ул. Притыцкого, 10
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN

Не успели — ничего страшного. Нажмите «⏰ Сообщить, если освободится» — если мастер не договорится с заказчиком, пришлём заказ вам.

4Пётр созвонился и подтвердил дату и время

Заказчику согласованное время (09.10, 12:00) нигде не показано: в «Когда» осталось «Как можно скорее», в Telegram сообщения нет.

Заказчик

Статус «В работе», ждём сумму
Статус «В работе», ждём сумму

Исполнители

🤖 Jobit-бот → Пётр (Минск)
Заказ подтверждён на 09.10, 12:00.
👤 Заказчик Минск
📞 +375290009101
После выполнения нажмите «Заказ выполнен» — заказчик сможет оставить отзыв, а вы оцените его.
📅 Перенести дату
✅ Заказ выполнен✖️ Заказ отменился

5Работа выполнена: Пётр вводит сумму 80 BYN, заказчик подтверждает

Заказчик

🤖 Jobit-бот → Заказчик (Минск)
Мастер выполнил заказ «Повесить полку и карниз, собрать тумбу» и указал стоимость: 80,00 BYN. Всё верно?
✅ Подтвердить✏️ Сумма другая
Плашка «Подтвердите сумму 80,00 BYN»
Плашка «Подтвердите сумму 80,00 BYN»
Подтвердить / Сумма другая
Подтвердить / Сумма другая

Исполнители

—

6Оценка и отзыв

Итог в БД: заявка COMPLETED, расчёт CONFIRMED 80 BYN, отзыв 5★ опубликован на Петра. Вопрос «Мастер приехал?» после подтверждения суммы выглядит лишним.

Заказчик

«Мастер приехал?» — сразу после подтверждения суммы
«Мастер приехал?» — сразу после подтверждения суммы
5 звёзд, теги, комментарий
5 звёзд, теги, комментарий
Спасибо за отзыв — цикл закрыт
Спасибо за отзыв — цикл закрыт

Исполнители

—

7Контроль второго города: заказчик из Гомеля, №10009

Получатели: только Олег и Максим (Гомель). Минские исполнители не получили — верно. Заявка затем снята.

Заказчик

Форма, город Гомель
Форма, город Гомель
Заявка создана
Заявка создана

Исполнители

🤖 Jobit-бот → Олег (Гомель)
🔴 Олег (Гомель), новый заказ №10009
Мастер на час · создан только что

📝 Задача: Заменить смеситель на кухне

📍 Адрес: Гомель
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN
💼 Комиссия: 15% до 200 BYN, 10% от 200 BYN

Телефон заказчика откроется после «Принять»
✅ Принять🙅 Не интересно
🤖 Jobit-бот → Максим (Гомель)
🔴 Максим (Гомель), новый заказ №10009
Мастер на час · создан только что

📝 Задача: Заменить смеситель на кухне

📍 Адрес: Гомель
📅 Дата работ: как можно скорее
💰 Ориентир: выезд от 25 BYN
💼 Комиссия: 15% до 200 BYN, 10% от 200 BYN

Телефон заказчика откроется после «Принять»
✅ Принять🙅 Не интересно

Сценарий 2. «Рабочий на день»: отклики, беседа, выбор

1Заказчик оформляет смену: 2 грузчика на 10.10 с 08:00, 120 BYN за смену

Заказчик

Шаг 1: кто нужен, что делать
Шаг 1: кто нужен, что делать
Шаг 2: сколько, когда, оплата
Шаг 2: сколько, когда, оплата
Шаг 3: телефон и согласия
Шаг 3: телефон и согласия
Заявка №10010 ушла исполнителям
Заявка №10010 ушла исполнителям

Исполнители

—

2Рассылка — 4 исполнителя из Минска

Гомельские исполнители рассылку не получили — верно.

Заказчик

—

Исполнители

🤖 Jobit-бот → Андрей (Минск)
🛠 Новая заявка · Грузчики и подсобники

📝 Разгрузить фуру с плиткой и занести на склад, ул. Тимирязева, 65
📍 Минск, весь город
• Кто нужен: Грузчик
• Требования: Поднимать до 50 кг
• Сколько человек: 2
• Дата (можно несколько дней): 10.10.2026
• Начало: 08:00
• Длительность, ч: 8
• Оплата: За смену
• Сумма на человека, BYN: 120

Телефон заказчика откроется, если он выберет вас.
✋ Готов выйти
🤖 Jobit-бот → Иван (Минск)
🛠 Новая заявка · Грузчики и подсобники

📝 Разгрузить фуру с плиткой и занести на склад, ул. Тимирязева, 65
📍 Минск, весь город
• Кто нужен: Грузчик
• Требования: Поднимать до 50 кг
• Сколько человек: 2
• Дата (можно несколько дней): 10.10.2026
• Начало: 08:00
• Длительность, ч: 8
• Оплата: За смену
• Сумма на человека, BYN: 120

Телефон заказчика откроется, если он выберет вас.
✋ Готов выйти
🤖 Jobit-бот → Пётр (Минск)
🛠 Новая заявка · Грузчики и подсобники

📝 Разгрузить фуру с плиткой и занести на склад, ул. Тимирязева, 65
📍 Минск, весь город
• Кто нужен: Грузчик
• Требования: Поднимать до 50 кг
• Сколько человек: 2
• Дата (можно несколько дней): 10.10.2026
• Начало: 08:00
• Длительность, ч: 8
• Оплата: За смену
• Сумма на человека, BYN: 120

Телефон заказчика откроется, если он выберет вас.
✋ Готов выйти
🤖 Jobit-бот → Сергей (Минск)
🛠 Новая заявка · Грузчики и подсобники

📝 Разгрузить фуру с плиткой и занести на склад, ул. Тимирязева, 65
📍 Минск, весь город
• Кто нужен: Грузчик
• Требования: Поднимать до 50 кг
• Сколько человек: 2
• Дата (можно несколько дней): 10.10.2026
• Начало: 08:00
• Длительность, ч: 8
• Оплата: За смену
• Сумма на человека, BYN: 120

Телефон заказчика откроется, если он выберет вас.
✋ Готов выйти

3Откликаются трое: Иван, Пётр, Сергей (Андрей молчит)

Для смены заказчик получает в Telegram только первое уведомление, остальные отклики видны на сайте.

Заказчик

🤖 Jobit-бот → Заказчик (Минск)
Пришло первое предложение по заявке «Разгрузить фуру с плиткой и занести на склад, ул.…». Уже можно выбрать исполнителя и начать общение.
Открыть заявку

Исполнители

Страница отклика (кнопка из бота)
Страница отклика (кнопка из бота)
Иван: 1 человек + сообщение
Иван: 1 человек + сообщение
«Предложение отправлено»
«Предложение отправлено»
Сергей: «смогу только до 15:00»
Сергей: «смогу только до 15:00»

4Заказчик видит отклики и ведёт беседу с Иваном

Заказчик

3 отклика: «Задать вопрос» / «Выбрать»
3 отклика: «Задать вопрос» / «Выбрать»
Чат с Иваном у заказчика
Чат с Иваном у заказчика

Исполнители

Иван видит вопрос и отвечает
Иван видит вопрос и отвечает

5Беседа с Сергеем — не подходит по времени

Заказчик

Чат с Сергеем у заказчика
Чат с Сергеем у заказчика

Исполнители

Сергей: «в 15:30 у меня другая работа»
Сергей: «в 15:30 у меня другая работа»

6Выбор: Иван и Пётр; Сергей — в резерве

Заказчик

«Состав набран 2 из 2», телефоны открыты, Сергей в резерве
«Состав набран 2 из 2», телефоны открыты, Сергей в резерве

Исполнители

🤖 Jobit-бот → Иван (Минск)
Вас выбрали на смену

Заказчик выбрал вас по заявке «Разгрузить фуру с плиткой и занести на склад, ул.…». Начало: 10.10 в 08:00. Где: Минск, весь город.
📋 Открыть заказ
🤖 Jobit-бот → Пётр (Минск)
Вас выбрали на смену

Заказчик выбрал вас по заявке «Разгрузить фуру с плиткой и занести на склад, ул.…». Начало: 10.10 в 08:00. Где: Минск, весь город.
📋 Открыть заказ

7Иван и Пётр подтверждают выход

Заказчик

🤖 Jobit-бот → Заказчик (Минск)
Иван (Минск): выход подтверждён, смена «Разгрузить фуру с плиткой и занести на склад, ул.…», телефон: +375290009103. Подтвердили 1 из 2.
Открыть заявку
🤖 Jobit-бот → Заказчик (Минск)
Пётр (Минск): выход подтверждён, смена «Разгрузить фуру с плиткой и занести на склад, ул.…», телефон: +375290009104. Подтвердили 2 из 2.
Открыть заявку
«Подтвердили 2 из 2»
«Подтвердили 2 из 2»

Исполнители

🤖 Jobit-бот → Иван (Минск)
Выход подтверждён

Ждём вас 10.10 в 08:00. Где: Минск, весь город. Телефон заказчика: +375290009101.
📋 Открыть заказ
🤖 Jobit-бот → Пётр (Минск)
Выход подтверждён

Ждём вас 10.10 в 08:00. Где: Минск, весь город. Телефон заказчика: +375290009101.
📋 Открыть заказ

8Смена началась → «Смена завершена» → оценка

Начало смены сдвинуто на «сейчас» только у тестовой заявки, чтобы не ждать до завтра (отсюда «Начало: 9 октября 10:25»). Резерв (Сергей) закрыт при старте смены — сообщения ему не ушло.

🐞 Оценка смены не работает: экран безымянный («Мастер»), один на двоих, POST /rate → 409 «Заказ ещё не выполнен», хотя заявка COMPLETED. У сменной заявки нет одного workerId, а submitRating требует его (server/src/services/orderPageService.ts).

Заказчик

«Смена идёт»: Не вышел / Перенесли / Смена завершена
«Смена идёт»: Не вышел / Перенесли / Смена завершена
После «Смена завершена» — «Мастер приехал?»
После «Смена завершена» — «Мастер приехал?»
Отзыв не отправляется: «Заказ ещё не выполнен»
Отзыв не отправляется: «Заказ ещё не выполнен»

Исполнители

Сергей (резерв): чат закрыт только на чтение
Сергей (резерв): чат закрыт только на чтение

Отдельно

!Город не определился — заказчик заперт

🐞 Если город по IP не из Беларуси (здесь «Oude Meer»), список городов в шапке открывается под затемнением модалки «Выберите город» и не кликается — заявку не отправить.

Заказчик

Список городов под затемнением модалки
Список городов под затемнением модалки
«Выбрать город» ничего не меняет
«Выбрать город» ничего не меняет

Исполнители

—