Files
Naser Mansour 7f35297025 Mark all libra tasks Done — confirmed live in production ~1 year
Naser confirmed all remaining QA Review / Draft rows (97 subtasks, 16
parent rollups) are done in substance: the site has been in production
for roughly a year. Overrides the conservative QA-Review/Draft mapping
from the prior takeover commit (0f9d12c) at his explicit instruction.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 22:04:04 +03:00

2.5 KiB

id, title, status, date, parent
id title status date parent
3-9 3-9 Guest Booking Request Done 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 /booking page 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_requests table 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