COMAL · 16-interaction-specs.md · 17 de 21

En esta página Mapa de pantallas y navegación 0%

16 — Especificación de interacciones · COMAL

Documento de prototipo / comportamiento UI. Sin implementación de código en esta entrega: sirve como especificación para diseño y futuro desarrollo.

Mapa de pantallas y navegación

Landing ──► Explorar ──► Ficha ──► Reserva (slots) ──► Checkout ──► Confirmación ──► Check-in
   │            │          │
   │            │          └── (auth gate si no sesión) → Login / Registro → Onboarding → vuelve
   │            └── Empty | Loading
   └── Login / Registro

Bottom nav (auth): Explorar | Reservas | Acceso | Perfil
Ops sidebar: Dashboard | Calendario | Reservas | Estaciones | Ingresos | Config

Transiciones y microinteracciones

ElementoInteracciónDetalle
CTA primaryPressFondo → primary-strong; scale 0.98 opcional 100ms
Chip filtroToggleActive: ink bg + white; multi-select equipos
Slot horaSelectSolo contiguos; al romper contigüidad se reinicia o se extiende el rango
Sticky CTA fichaFixedSafe-area bottom; no tapa contenido (padding-bottom lista)
Bottom sheet filtros (móvil)DragBackdrop 40% ink; dismiss swipe down
Modal cancelaciónConfirm2 botones: Cancelar reserva (danger) / Volver
Hold pagoCountdownVisible en error pago; al 00:00 liberar slot y mensaje
Check-in QRFullscreen darkBrightness note en copy; PIN siempre visible
Skeleton loadingPulseOpacity 0.6↔1, 1.2s, prefers-reduced-motion = static
Toast éxito4sBottom, no bloquea nav
Ops bloqueoClick franjaSide panel o modal: motivo + rango + guardar

Gestos móviles

  • Pull-to-refresh en Explorar y Mis reservas
  • Swipe back en iOS/Android nativo web (browser)
  • No swipe-to-delete en reservas (evitar accidente); cancelar solo en detalle

Validaciones en UI

CampoRegla visual
EmailFormato; error inline rojo
ContraseñaMin 10; meter strength opcional v1.1
TeléfonoMáscara ES +34
SlotsMin 2 h (mensaje si 1 sola hora)
TérminosCheckbox required; CTA disabled hasta check

Estados por pantalla (matriz)

PantallaDefaultLoadingEmptyErrorSuccess
ExplorarListaSkeleton 15Empty filtrosBanner reintentar
FichaContenidoSkeleton heroNo disponible
ReservaSlotsPulse slotsSin huecos díaRed
CheckoutFormButton spinnerPago fallido → 14→ Confirmación
ReservasCardsSkeleton cardsSin próximas
Check-inQR+PINFuera de ventanaPIN inválido opsChecked-in
Ops dashTablaSkeleton rowsDía vacío

Flujo de prototipo recomendado (demo stakeholder)

  1. Landing → Explorar
  2. Abrir Kitchen Hub Vallecas
  3. Reservar 05–08
  4. Checkout → (simular éxito) Confirmación
  5. Mis reservas → Check-in
  6. Ops Dashboard + Calendario

En Paper: artboards enlazables manualmente o presentación en orden de capa.

Criterios de aceptación UX (no código)

  • Usuario entiende precio total antes de pagar
  • Política de cancelación legible en ficha y checkout
  • Check-in usable con una mano en exterior
  • Operador ve ocupación del día en < 5 s de mirada
  • Empty y error tienen siguiente acción clara