-добавил выбор мастера;

-расширил FSM новым состоянием master;
-добавил новую клавиатуру masters.py;
-изменил сценарий записи;
-доработал окно подтверждения записи;
-расширил структуру хранения бронирований.
This commit is contained in:
grigorij
2026-06-13 20:01:26 +04:00
parent 9282c1bbfb
commit 8d95ad3931
4 changed files with 67 additions and 1 deletions
+36 -1
View File
@@ -5,7 +5,7 @@ from aiogram.fsm.context import FSMContext
from aiogram.filters import StateFilter
from aiogram.types import Message, CallbackQuery
from app.keyboards.services import get_services_keyboard
from app.keyboards.masters import get_masters_keyboard
from app.states.booking import BookingState
from app.services.booking_service import create_booking
from app.keyboards.menu import menu, cancel_menu
@@ -59,9 +59,42 @@ async def choose_service(
service=service_name
)
await state.set_state(
BookingState.master
)
await callback.message.edit_text(
"👤 Выберите специалиста:",
reply_markup=get_masters_keyboard()
)
await callback.answer()
#выбор мастера
@router.callback_query(
StateFilter(BookingState.master),
F.data.startswith("master_")
)
async def choose_master(
callback: CallbackQuery,
state: FSMContext
):
masters = {
"master_anna": "Анна",
"master_maria": "Мария",
"master_alex": "Алексей"
}
master_name = masters[callback.data]
await state.update_data(
master=master_name
)
await state.set_state(
BookingState.date
)
await callback.message.edit_text(
"📅 Выберите дату:",
reply_markup=get_dates_keyboard()
@@ -127,6 +160,7 @@ async def choose_time(
f"📋 Проверьте запись:\n\n"
f"💆 Услуга: {data['service']}\n"
f"📅 Дата: {data['date']}\n"
f"👤 Мастер:{data['master']}\n"
f"🕒 Время: {selected_time}",
reply_markup=get_confirm_booking_keyboard()
)
@@ -149,6 +183,7 @@ async def confirm_booking_callback(
user_id=callback.from_user.id,
service=data["service"],
date=data["date"],
master=data["master"],
time=data["time"]
)