# Story 8.5: Booking Rejected Email ## Epic Reference **Epic 8:** Email Notification System ## User Story As a **client**, I want **to be notified when my booking is rejected**, So that **I can understand why and request a new consultation if needed**. ## Acceptance Criteria ### Trigger - [ ] Sent on booking rejection by admin ### Content - [ ] "Your consultation request could not be approved" - [ ] Original requested date and time - [ ] Rejection reason (if provided by admin) - [ ] Invitation to request new consultation - [ ] Contact info for questions ### Tone - [ ] Empathetic, professional ### Language - [ ] Email in client's preferred language ## Technical Notes ```php class BookingRejectedEmail extends Mailable { use Queueable, SerializesModels; public function __construct( public Consultation $consultation, public ?string $reason = null ) {} public function content(): Content { $locale = $this->consultation->user->preferred_language ?? 'ar'; return new Content( markdown: "emails.booking.rejected.{$locale}", with: [ 'consultation' => $this->consultation, 'reason' => $this->reason, ], ); } } ``` ## Definition of Done - [ ] Email sent on rejection - [ ] Reason included if provided - [ ] Empathetic tone - [ ] Bilingual templates - [ ] Tests pass ## Estimation **Complexity:** Low | **Effort:** 2 hours