67 lines
1.4 KiB
Markdown
67 lines
1.4 KiB
Markdown
# Story 8.3: Booking Submitted Confirmation
|
|
|
|
## Epic Reference
|
|
**Epic 8:** Email Notification System
|
|
|
|
## User Story
|
|
As a **client**,
|
|
I want **to receive confirmation when I submit a booking request**,
|
|
So that **I know my request was received**.
|
|
|
|
## Acceptance Criteria
|
|
|
|
### Trigger
|
|
- [ ] Sent on booking submission
|
|
- [ ] Status: pending
|
|
|
|
### Content
|
|
- [ ] "Your consultation request has been submitted"
|
|
- [ ] Requested date and time
|
|
- [ ] Problem summary preview
|
|
- [ ] "Pending Review" status note
|
|
- [ ] Expected response timeframe (general)
|
|
|
|
### Language
|
|
- [ ] Email in client's preferred language
|
|
|
|
### Design
|
|
- [ ] No action required message
|
|
- [ ] Professional template
|
|
|
|
## Technical Notes
|
|
|
|
```php
|
|
class BookingSubmittedEmail extends Mailable
|
|
{
|
|
use Queueable, SerializesModels;
|
|
|
|
public function __construct(
|
|
public Consultation $consultation
|
|
) {}
|
|
|
|
public function content(): Content
|
|
{
|
|
$locale = $this->consultation->user->preferred_language ?? 'ar';
|
|
|
|
return new Content(
|
|
markdown: "emails.booking.submitted.{$locale}",
|
|
with: [
|
|
'consultation' => $this->consultation,
|
|
'user' => $this->consultation->user,
|
|
],
|
|
);
|
|
}
|
|
}
|
|
```
|
|
|
|
## Definition of Done
|
|
- [ ] Email sent on submission
|
|
- [ ] Date/time included
|
|
- [ ] Summary preview shown
|
|
- [ ] Pending status clear
|
|
- [ ] Bilingual templates
|
|
- [ ] Tests pass
|
|
|
|
## Estimation
|
|
**Complexity:** Low | **Effort:** 2 hours
|