0f9d12c3cf
Adds docs/tasks/ (16 epics + 102 stories converted to task/subtask files with statuses.md as the new status source of truth) and docs/ux-design.md (retrospective design-system reference), and points CLAUDE.md at them. docs/prd.md and docs/architecture.md are kept as BMAD wrote them; the legacy docs/stories/, docs/epics/, docs/qa/gates/ and .bmad-core/ stay in place as historical/traceability records, superseded but not deleted. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
id, title, status, date, parent
| id | title | status | date | parent |
|---|---|---|---|---|
| 3-9 | 3-9 Guest Booking Request | Draft | 2026-09-27 | 3 |
Description
As a guest visitor, I want to submit a consultation booking request with my contact details, So that I can request legal services without needing an account first. Context: Integrates with: Availability calendar (Story 3.3), Admin booking review (Story 3.5), User creation (Epic 2); Technology: Livewire Volt, Flux UI, existing availability calendar component; Follows pattern: Client booking submission (Story 3.4), Admin approval workflow (Story 3.5). Extend the existing admin.bookings.pending component to include guest booking requests:. Full implementation history: docs/stories/story-3.9-guest-booking-request.md
Acceptance Criteria
- AC1: Public
/bookingpage accessible without login - AC2: Display availability calendar (reuse existing component)
- AC3: Guest can select date and available time slot
- AC4: Account type toggle: Individual / Company
- AC5: Form fields for Individual:
- AC6: Additional fields for Company:
- AC7: Problem summary field (required, textarea, min 20 characters, max 2000)
- AC8: Confirmation step before submission showing all entered data
- AC9: Duplicate check: If email OR national_id exists in users table, show "Account already exists. Please login to book." with login link
- AC10: 1-per-day limit by email: Check guest_booking_requests table for same email on same booking_date
- AC11: Validate selected slot is still available
- AC12: Clear error messages for all validation failures (bilingual)
- AC13: On submit, create record in
guest_booking_requeststable with status 'pending' - AC14: Guest sees success page: "Request received. We will contact you soon."
- AC15: Admin receives email notification about new guest booking request
- AC16: Guest receives submission confirmation email
- AC17: Guest booking requests appear in admin pending bookings queue with "Guest" badge
- AC18: Admin can view full guest details and problem summary
- AC19: Admin action: Approve + Create Account
- AC20: Admin action: Reject
- AC21: Admin action: Create Account Only
- AC22: All admin actions logged in audit trail
- AC23: Bilingual support (Arabic/English) for all UI and emails
- AC24: Mobile-responsive design
- AC25: Race condition prevention for slot availability
- AC26: Comprehensive test coverage