Appointment a schema.prisma:npx prisma migrate dev --name add-appointmentsnpx prisma studio muestra la tabla. Build limpio.
feat(db): add Appointment model and migration
app/api/appointments/route.ts — solo handler POST con validación Zod. Sin email, sin Stripe todavía.
npm test -- appointments.post.testcurl -X POST /api/appointments devuelve 201 con el appointment creado. Tests pasan (6/6).
feat(api): POST /appointments endpoint with Zod validation
dietistId y rango de fechas. Paginación simple.
npm test -- appointments.get.testnpx tsc --noEmit limpio.
feat(api): GET /appointments with pagination and filters
AppointmentCalendar: rejilla semanal consumiendo GET /appointments. Marcar slots ocupados/libres. Sin pago todavía — feature flag ENABLE_STRIPE_PAYMENT=false.
npm test -- AppointmentCalendarfeat(ui): AppointmentCalendar with weekly view and slot states
ENABLE_*=false para mergear increments sin exponer trabajo incompleto.