Процесс записи
Обзор
Процесс записи в Bronjoy состоит из нескольких шагов: клиент выбирает услугу, выбирает сотрудника и слот времени, указывает свои данные, при необходимости оплачивает и получает подтверждение.
Шаг 1. Выбор услуги
Клиент просматривает доступные услуги на публичной странице записи организации.
GET /api/booking/{slug}/services
У каждой услуги есть название, длительность, цена и список сотрудников, которые могут её оказать. Аутентификация не требуется — это эндпоинт публичной страницы записи.
Шаг 2. Проверка доступности
После выбора услуги запросите доступные слоты времени на нужную дату.
GET /api/booking/{slug}/slots?service_id=1&date=2026-03-25
Или сразу весь диапазон дат:
GET /api/booking/{slug}/slots/range?service_id=1&start_date=2026-03-25&end_date=2026-03-31
Калькулятор слотов учитывает:
- Рабочие часы и перерывы сотрудника
- Существующие записи
- Длительность услуги и буферное время
- Лимиты предварительной записи организации
Возвращает массив доступных слотов времени с назначенным сотрудником.
Шаг 3. Создание записи
Отправьте запись с выбранным слотом. Это работает и для гостей, и для авторизованных клиентов — Bronjoy определяет клиента по токену авторизации, если он передан, либо по контактным данным в теле запроса, если токена нет.
POST /api/client/booking/{slug}
Content-Type: application/json
{
"service_id": 1,
"staff_id": 3,
"start_time": "2026-03-25T10:00:00Z",
"notes": "First visit",
"name": "Maria Garcia",
"phone": "+998901234567"
}
Для гостевых записей обязательны name и phone либо email; они игнорируются, если запрос содержит Bearer-токен клиента. Запись создаётся в статусе Pending.
Шаг 4. Оплата (если требуется)
Если организация требует оплату, автоматически создаётся Stripe Checkout Session. Клиент перенаправляется в Stripe для завершения платежа.
POST /api/client/payments/appointments/{appointment}/pay
Authorization: Bearer client-token
После успешной оплаты запись переходит в статус Confirmed. Полный процесс описан в разделе Платежи.
Шаг 5. Подтверждение
Клиент получает подтверждение с деталями записи. Уведомления отправляются через:
- Уведомление в базе данных (видно в приложении)
- Telegram (если клиент подключил свой аккаунт)
Схема статусов
Pending → Confirmed → Completed
↓ ↓
Cancelled Cancelled
↓
NoShow
- Pending — ожидает подтверждения или оплаты
- Confirmed — оплата получена или подтверждено сотрудником вручную
- Completed — услуга оказана
- Cancelled — отменено клиентом или сотрудником
- NoShow — клиент не пришёл