05 — Modelo de datos — MERIDIANA
Entidades
Service
- id, slug, name, summary, description, iconKey, sortOrder, active, createdAt, updatedAt
Doctor
- id, slug, fullName, roleTitle, bio, photoUrl, acceptsAppointments, sortOrder, active, createdAt, updatedAt
AppointmentRequest
- id, patientName, phone, email?, preferredSlot (MORNING|AFTERNOON|ANY), preferredDoctorId?, serviceId?, reason, status (NEW|CONTACTED|CLOSED), receptionNotes?, createdAt, updatedAt
Relaciones
- Doctor 1—N AppointmentRequest (preferred, opcional)
- Service 1—N AppointmentRequest (opcional)
Privacidad
- Motivo y datos de contacto = datos personales (y potencialmente de salud). Minimizar retención; acceso recepción solo. Ver
11-privacy-security.md.
ER simplificado
Service ||--o{ AppointmentRequest
Doctor ||--o{ AppointmentRequest