Добавлена система управления записями и улучшен процесс бронирования

- Реализован выбор мастера
- Добавлен выбор даты и времени
- Добавлено подтверждение записи
- Реализован раздел «Мои записи»
- Добавлена отмена записи
- Добавлена возможность редактирования записи
- Реализована проверка занятых временных слотов
- Улучшена логика FSM и пользовательский сценарий бронирования
This commit is contained in:
grigorij
2026-06-13 20:28:32 +04:00
parent 8d95ad3931
commit 8b20de1da5
6 changed files with 252 additions and 42 deletions
+25
View File
@@ -0,0 +1,25 @@
from aiogram.types import (
InlineKeyboardMarkup,
InlineKeyboardButton
)
def get_booking_actions(
booking_id: int
):
return InlineKeyboardMarkup(
inline_keyboard=[
[
InlineKeyboardButton(
text="✏️ Изменить",
callback_data=f"edit_booking_{booking_id}"
)
],
[
InlineKeyboardButton(
text="❌ Отменить",
callback_data=f"cancel_booking_{booking_id}"
)
]
]
)
+17 -6
View File
@@ -1,7 +1,13 @@
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.types import InlineKeyboardMarkup
from aiogram.types import InlineKeyboardButton
def get_time_keyboard():
def get_time_keyboard(
busy_times=None
):
if busy_times is None:
busy_times = []
times = [
"10:00",
@@ -10,17 +16,22 @@ def get_time_keyboard():
"13:00",
"14:00",
"15:00",
"16:00"
"16:00",
"17:00"
]
buttons = []
for t in times:
for time in times:
if time in busy_times:
continue
buttons.append(
[
InlineKeyboardButton(
text=t,
callback_data=f"time_{t}"
text=time,
callback_data=f"time_{time}"
)
]
)