Booking lifecycle notifications and status updates

This commit is contained in:
2026-02-28 15:06:35 +03:00
parent db36551211
commit ca2a6b58b6
15 changed files with 613 additions and 5 deletions
+12 -1
View File
@@ -1,7 +1,9 @@
from rest_framework import permissions, viewsets
from apps.bookings.models import Booking
from apps.bookings.models import Booking, BookingStatus
from apps.bookings.serializers import BookingCreateSerializer, BookingSerializer
from apps.notifications.models import NotificationEvent
from apps.notifications.services import notify_booking_lifecycle, notify_on_status_change
class BookingViewSet(viewsets.ModelViewSet):
@@ -21,3 +23,12 @@ class BookingViewSet(viewsets.ModelViewSet):
if self.action == "create":
return BookingCreateSerializer
return BookingSerializer
def perform_create(self, serializer):
booking = serializer.save()
notify_booking_lifecycle(booking, NotificationEvent.BOOKING_CREATED)
def perform_update(self, serializer):
previous_status = self.get_object().status
booking = serializer.save()
notify_on_status_change(booking, previous_status)