- booking.py: добавлен await перед get_busy_times (ошибка TypeError:
coroutine is not iterable)
- menu.py: возвращены emoji вместо текстовых меток
- time_slots.py: возвращены emoji ❌/✅ вместо [X]/[V]
- Проблема была в том, что booking_service использует async def,
а вызов в booking.py был без await
- start.py: кавычки у ключа name (было {name: ...} вместо {"name": ...})
- start.py: эмодзи в f-строке без кавычек
- profile.py: эмодзи и текст с нормальной кодировкой
- SERVICES, MASTERS, TIME_SLOTS в config.py
- Клавиатуры services.py, masters.py, time_slots.py берут данные из config
- booking.py импортирует services/masters из config вместо хардкода
- time_slots отображает занятые слоты как ❌, свободные как ✅
- Переписан memory.py: теперь загружает/сохраняет users.json и bookings.json в data/
- booking_service.py: импорты через функции, а не переменные
- start.py, profile.py: используют get_user/set_user вместо прямого импорта users
- Добавлена папка data/ с .gitkeep