f-nunez / VeterinaryClinic

Veterinary Clinic in .NET 7 with clean architecture for Blazor Web Assembly ASP.NET Core hosted model and built with Radzen Components
MIT License
6 stars 0 forks source link

Appointment Confirmation #27

Closed f-nunez closed 1 year ago

f-nunez commented 1 year ago

As a product owner, I want that Scheduling application send emails to Clients about their appointments statuses. An email must be send to Client with information about the appointment and a link (Public Site link) to confirm the appointment (booked, updated or cancelled). The Publis Site should show a friendly confirmation message and care about Client's preferred language. Users must receive an app notification about the confirmed appointment by the Client.

Add SchedulingEmailSender api to build emails. Add EmailService api to send emails.

Expected flow for a created appointment up to being confirmed:

  1. An User book an appointment.
  2. Other Users receive an app notification about the created appointment.
  3. The Client (owner) receive an email about its appointment status with a link to confirm the appointment.
  4. The Client click/use the link provided in the email message and gets redirected to the Public Site.
  5. The Public Site gets communication to Scheduling Api and confirm the appointment.
  6. Users receive an app notification about the confirmed appointment from Public Site.

Expected flow for an updated appointment (only if the start date is changed) up to being confirmed:

  1. An User update an appointment where its start date is changed.
  2. Other Users receive an app notification about the updated appointment.
  3. The Client (owner) receive an email about its appointment status with a link to confirm the appointment.
  4. The Client click/use the link provided in the email message and gets redirected to the Public Site.
  5. The Public Site gets communication to Scheduling Api and confirm the appointment.
  6. Users receive an app notification about the confirmed appointment from Public Site.

Expected flow for a deleted appointment:

  1. An User delete an appointment.
  2. Other Users receive an app notification about the deleted appointment.
  3. The Client (owner) receive an email about its appointment status.

Criteria: