Реалізація голосового AI-бота для запису на прийом

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Реалізація голосового AI-бота для запису на прийом
Середній
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Реалізація голосового AI-бота для запису на прийом Бот запису на прийом автономно приймає вхідні дзвінки, уточнює зручний час, перевіряє вільні слоти в розкладі та підтверджує запис без участі адміністратора. Застосовується у клініках, салонах краси, автосервісах, держустановах. ### Сценарій діалогу```

Бот: Добрый день! Вы позвонили в клинику «Здоровье». Хотите записаться на приём? Клиент: Да, к терапевту Бот: К какому врачу вы хотите попасть — к Ивановой или к Петрову? Клиент: Всё равно, кто ближе по времени Бот: Ближайшее время — завтра в 14:30 у Петрова. Подходит? Клиент: Да Бот: Назовите вашу фамилию для записи Клиент: Сидоров Бот: Сидоров, запись подтверждена на завтра в 14:30 к врачу Петрову. Напомним вам за 2 часа. Спасибо! ### Реалізація з Google Calendar / Calendly APIpython from google.oauth2.credentials import Credentials from googleapiclient.discovery import build from datetime import datetime, timedelta

def get_available_slots( calendar_id: str, specialist_id: str, days_ahead: int = 7, slot_duration_min: int = 30 ) -> list[dict]: """Получаем свободные слоты из Google Calendar""" service = build('calendar', 'v3', credentials=get_credentials())

now = datetime.utcnow()
end_time = now + timedelta(days=days_ahead)

# Запрашиваем занятые слоты
freebusy = service.freebusy().query(body={
    "timeMin": now.isoformat() + "Z",
    "timeMax": end_time.isoformat() + "Z",
    "items": [{"id": calendar_id}]
}).execute()

busy_slots = freebusy["calendars"][calendar_id]["busy"]
return calculate_free_slots(busy_slots, now, end_time, slot_duration_min)

async def book_appointment( calendar_id: str, start_time: datetime, client_name: str, service_type: str ) -> str: """Создаём запись в календаре""" service = build('calendar', 'v3', credentials=get_credentials()) event = { "summary": f"{service_type} — {client_name}", "start": {"dateTime": start_time.isoformat(), "timeZone": "Europe/Moscow"}, "end": {"dateTime": (start_time + timedelta(minutes=30)).isoformat(), "timeZone": "Europe/Moscow"}, "reminders": {"useDefault": True} } created = service.events().insert(calendarId=calendar_id, body=event).execute() return created["id"] ### Обробка неоднозначності часуpython def parse_time_expression(text: str) -> datetime | None: """Парсим выражения типа 'завтра в 3', 'в пятницу утром'""" import dateparser return dateparser.parse( text, languages=["ru"], settings={ "PREFER_DATES_FROM": "future", "TIMEZONE": "Europe/Moscow" } ) ### SMS-підтвердження через SMS.rupython import requests

def send_appointment_sms(phone: str, appointment: dict): text = (f"Запись подтверждена: {appointment['specialist']}, " f"{appointment['date']} в {appointment['time']}. " f"Отмена: {CALLBACK_NUMBER}") requests.get("https://sms.ru/sms/send", params={"api_id": SMS_API_KEY, "to": phone, "msg": text})