Booking Flow
UC-CUST-001: Appointment Booking
Purpose: Enable customers to book appointments via WhatsApp with real-time slot selection.
| Property | Value |
|---|---|
| Actor | Customer |
| Trigger | Customer sends "Book appointment" or similar intent |
| Priority | P0 |
Main Success Scenario:
- Bot presents service menu via interactive list.
- Customer selects a service.
- Bot asks for preferred date.
- Bot fetches available slots from backend and displays them as buttons/list.
- Customer selects a time slot.
- Bot confirms booking and sends calendar invite/confirmation message.
Alternate Flows:
-
Flow A: No Slots Available: Bot offers alternative dates or waitlist option.
-
Flow B: Specific Stylist: Customer requests specific stylist; bot fliters slots for that stylist.
Acceptance Criteria:
- [ ] Real-time availability check.
- [ ] Response time < 2s.
- [ ] Booking reflected in Admin Dashboard immediately.
UC-CUST-002: Join Waitlist
Purpose: Allow customers to join a waitlist when no slots are available.
| Property | Value |
|---|---|
| Actor | Customer |
| Trigger | Customer selects "Join Waitlist" when slots are full |
| Priority | P1 |
Main Success Scenario:
- Customer requests a time that is fully booked.
- Bot offers "Notify me if slot opens".
- Customer confirms.
- System adds customer to waitlist for that specific window.
- (Async) If slot opens, system sends notification to waitlisted users.
Alternate Flows:
- Flow A: Slot Opens: First customer to respond gets the slot.
Acceptance Criteria:
- [ ] Waitlist entries correctly stored.
- [ ] Auto-notification triggers when cancellation occurs.