Data Model — 006 Referencia temporal compartida
Fuente: spec.md FR-001…FR-011 + research D1…D7. Esta feature NO crea tablas ni endpoints (FR-011). El modelo describe (a) valores efímeros, (b) la enmienda S-06 a la entidad Clínica de la 001 y (c) fórmulas derivadas con nombre. Dinero fuera de alcance; tiempo en timestamptz, zona Europe/Madrid, idioma es-ES.
1. Instante «ahora» (efímero, sin persistencia)
Sin columna, sin tabla, sin endpoint. En tests se inyecta (ahora fijado, p. ej. 30/09/2026 10:00).
2. Jornada y calendario — enmienda S-06 a Clínica (001)
Propiedad de la 001; aquí solo migración + semilla (MAPA: aplicada en spec + data-model de la 001, falta semilla y código).
Prisma: diasLaborables Int[] @default([1, 2, 3, 4, 5]). Semilla Eleva: incluir el defecto.
3. Ventanas derivadas (definidas una sola vez aquí — FR-010)
Nueva ventana futura: se define aquí primero y luego se referencia (edge spec).
4. Denominador de ocupación (FR-008)
denominadorMin = minutosJornada × nºDíasLaborables × 8 con la configuración vigente, mostrado junto a cada porcentaje (etiquetarJornada). Prohibido hardcodear 26.400 en ningún caso (con defecto se calcula igual: 660 × 5 × 8). Reconfiguración a mitad de periodo: vigente + declaración, sin historia (edge spec). Ejemplo por defecto: 26.400 min/profesional, «09:00–20:00, Lun–Vie» (US3-AS1); con sábados: 660 × 6 × 8 = 31.680 (US3-AS2).
5. Etiquetado (FR-003, FR-009, Q4/A)
- Tramo:
DD/MM/AAAA, HH:MM–HH:MM24 h (formatearTramoexistente). - Semana:
S-N: DD/MM/AAAA–DD/MM/AAAAderivada de la ventana calculada, nunca constante. - Jornada/días del denominador siempre visibles junto a ocupaciones.
6. Diagrama (texto)
operación ──capturarAhora()──► ahora ──┬──► esPasado (FR-004)
├──► cancelacionEnPlazo (FR-005)
├──► enVentanaRecordatorios (FR-006)
└──► semanasAnalitica (FR-007) ──► denominadorOcupacion (FR-008, lee Clinica vigente)
Clinica(001) ──enmienda S-06──► + diasLaborables Int[] ──► determina semana natural y denominador
Consumidoras (001/002/003/004/005) ──solo referencian──► 006 FR-004…FR-009 (redefinir = defecto, FR-010)