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

- Реализован выбор мастера
- Добавлен выбор даты и времени
- Добавлено подтверждение записи
- Реализован раздел «Мои записи»
- Добавлена отмена записи
- Добавлена возможность редактирования записи
- Реализована проверка занятых временных слотов
- Улучшена логика 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
+76 -6
View File
@@ -2,13 +2,14 @@ from app.db.memory import bookings
def create_booking(
user_id: int,
service: str,
date: str,
master:str,
time: str
user_id: int,
service: str,
date: str,
master: str,
time: str
):
booking = {
"id": len(bookings) + 1,
"user_id": user_id,
"service": service,
"date": date,
@@ -19,4 +20,73 @@ def create_booking(
bookings.append(booking)
return booking
return booking
def get_busy_times(
master: str,
date: str
):
busy_times = []
for booking in bookings:
if (
booking["master"] == master
and booking["date"] == date
and booking["status"] == "active"
):
busy_times.append(
booking["time"]
)
return busy_times
def get_user_bookings(
user_id: int
):
result = []
for booking in bookings:
if (
booking["user_id"] == user_id
and booking["status"] == "active"
):
result.append(booking)
return result
def cancel_booking(
booking_id: int
):
for booking in bookings:
if booking["id"] == booking_id:
booking["status"] = "cancelled"
return True
return False
def update_booking(
booking_id: int,
service: str,
master: str,
date: str,
time: str
):
for booking in bookings:
if booking["id"] == booking_id:
booking["service"] = service
booking["master"] = master
booking["date"] = date
booking["time"] = time
return booking
return None