Мобильные приложения / Блог ontech.pro
Онлайн-запись в приложении: как избежать двойного бронирования
Два клиента выбирают свободное время, а администратор одновременно записывает третьего по телефону. Если каждый канал хранит своё расписание, красивый календарь не спасёт от накладки. До разработки нужно определить, где принимается окончательное решение о доступности времени.
Подготовила команда ontech.pro · · 3 мин чтенияОдно расписание для всех каналов
Составьте список мест, откуда приходит запись: приложение, сайт, звонки, стойка и внешняя система. Назначьте один источник занятости, который видит все подтверждённые визиты. Приложение должно запрашивать у него доступность и отправлять туда бронирование. Если администратор продолжает вести отдельный блокнот, включите перенос этих записей в рабочий процесс. Иначе даже технически исправное приложение будет предлагать уже занятые часы. Обсудите, кто исправляет расхождения и как быстро они становятся видны клиентам.
Бронируйте необходимые ресурсы
Запись занимает не просто клетку календаря. Для услуги могут одновременно требоваться специалист, кабинет и оборудование, а после неё — перерыв на подготовку. Опишите длительность каждого варианта услуги и правила сочетания ресурсов. Например, свободный мастер ещё не означает свободный подъёмник в автосервисе. Если продолжительность уточняется на месте, выделите отдельный сценарий заявки на согласование. Не выдавайте такую заявку за окончательное бронирование, пока сотрудник не проверил возможность приёма.
От выбора до подтверждения
Разделите просмотр времени, временный резерв и подтверждённую запись. При оплате резерв может удерживать место на согласованный срок; клиент должен видеть, до какого момента нужно закончить действие. По истечении срока система повторно проверяет доступность. Само подтверждение должно исключать две успешные записи на один ресурс и интервал. Уточните это в задании прямым примером одновременных запросов, а не формулировкой «защита от дублей»: разработчик должен показать результат и для победившего, и для второго клиента.
Подготовьте ответ на конфликт
Когда время уже занято, сохраните выбранную услугу, филиал и специалиста и предложите ближайшие доступные варианты. Не заставляйте человека проходить весь путь заново. Если ответ сервера потерялся, повторное нажатие не должно создавать ещё один визит: сначала выясняется судьба исходного запроса. На экране полезны номер записи и понятное состояние. Надпись «отправлено» недостаточна, когда клиенту нужно знать, можно ли приезжать. Для неясного результата предусмотрите проверку статуса и обращение к администратору.
Проверьте расписание в движении
На приёмке откройте один интервал с двух телефонов и попробуйте подтвердить его одновременно. Затем добавьте визит через администратора, измените длительность услуги, отключите сеть сразу после нажатия и повторите отправку. Отдельно проверьте отмену: освободившееся место должно возвращаться в продажу по вашим правилам, а не оставаться скрытым навсегда. Сверьте итоговый календарь, клиентскую историю и рабочий экран сотрудника. Критерий готовности — у каждого подтверждения один визит, а у каждого занятого ресурса объяснимая причина занятости.