Добавлена система управления записями и улучшен процесс бронирования
- Реализован выбор мастера - Добавлен выбор даты и времени - Добавлено подтверждение записи - Реализован раздел «Мои записи» - Добавлена отмена записи - Добавлена возможность редактирования записи - Реализована проверка занятых временных слотов - Улучшена логика FSM и пользовательский сценарий бронирования
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user