Estados de programación y pedidos anticipados
Algunas experiencias de Customer App muestran una opción ASAP o posibles horarios futuros. Una fecha u hora de la aplicación es solo candidata para el contexto actual. No es una reserva, aceptación del negocio, decisión de elegibilidad del servidor ni compromiso de pedido.
Los controles de programación pueden cambiar el horario del pedido de todos los carritos sin requerir un toque de confirmación final. No abras, vuelvas a enfocar ni visites de nuevo una superficie de programación para comprobar si se actualizó una selección anterior.
Las superficies estándar y de catering son distintas
La fuente actual tiene controladores de horario relacionados, pero diferentes:
| Superficie | Comportamiento candidato | Límite importante |
|---|---|---|
| Página de momento estándar | Puede mostrar ASAP e intervalos futuros genéricos dentro de un rango de fechas | La lista de intervalos generada no es la decisión final de elegibilidad del negocio |
| Página de momento consciente del negocio | Puede aplicar un horario y zona horaria del negocio proporcionados | Los datos del negocio pueden faltar, estar obsoletos o diferir de la validación del servidor |
| Pedido anticipado de catering | Usa datos adicionales de anticipación, rango, intervalos y días mínimos/máximos | Si faltan datos o están mal formados, puede cambiar o vaciar la lista de opciones |
| Horario en línea del carrito | Puede seleccionar automáticamente la siguiente opción cuando los requisitos de catering lo exijan | Al montar o recalcular puede escribirse un horario sin que se toque nada |
No supongas que estas superficies comparten horarios, comportamiento de confirmación o manejo de errores.
Un horario candidato tiene varias condiciones
| Condición | Qué aporta | Qué sigue sin resolverse |
|---|---|---|
| Política de la aplicación y el proyecto | Si pueden aparecer controles de programación | Elegibilidad actual del servidor y negocio |
| Tipo de pedido | Qué reglas estándar o de catering se consideran | Compatibilidad con todos los carritos y artículos |
| Horario del negocio o menú | Intervalos candidatos de apertura | Excepciones, capacidad, cierres y aceptación del servidor |
| Anticipación y límites de fecha | Rango de opciones candidatas más temprano y tardío | Si el horario seleccionado sigue siendo válido después |
| Generación de intervalos | Etiquetas de inicio y fin candidatas | Capacidad o reserva del negocio |
| Contexto del carrito y la entrega | Datos actuales de entrega, recogida, reserva u horario | Pago, realización y liquidación del pedido |
| Validación del servidor | La aceptación depende del contexto actual del pedido y de las reglas del servidor | La opción visible no garantiza que el horario solicitado esté disponible |
Una opción visible puede vencer, desaparecer o ser rechazada tras cambiar cualquier dato pertinente.
Límites de zona horaria, reloj e intervalos
La programación puede atravesar los relojes del dispositivo, negocio y servidor. La aplicación puede calcular con la zona horaria del negocio si está disponible; si no, puede recurrir a la hora local del dispositivo. Después, el formato mostrado puede diferir del valor guardado o enviado para conciliar.
Los cambios de día, horario de verano, horas locales ambiguas o inexistentes, horarios nocturnos del negocio, horas de fin del intervalo y desfases de reloj pueden hacer que una opción mostrada difiera de la elegibilidad del negocio o servidor. Considera autorizados el contexto de hora actual del negocio y el servidor; una etiqueta del dispositivo por sí sola no es prueba.
La selección, el almacenamiento y la navegación se actualizan por separado
| Etapa | Qué puede cambiar | Qué no demuestra |
|---|---|---|
| Resaltado de fecha | Fecha local y lista candidata | Que se haya actualizado el horario del carrito |
| Resaltado de hora | Estado de hora local o cambio inmediato de momento, según la superficie | Aceptación del servidor o reserva |
| Cambio global de momento | Puede comenzar la actualización del contexto local de pedido, almacenamiento o servidor | Que hayan terminado todas las escrituras |
| Actualización del carrito | Uno o varios carritos pueden recibir el contexto de horario recalculado | Que todos los carritos tengan la misma revisión |
| Navegar a otra pantalla | Se cierra la superficie de programación o se abre otra página | Que se haya actualizado el horario |
| Pago o estado del pedido | Las siguientes etapas usan el contexto de horario actual | Pago, realización ni finalización del pedido |
El controlador actual no espera siempre a que termine la actualización del horario antes de llamar a la siguiente función de retorno o salir de la pantalla. Por tanto, que cambie una etiqueta o se cierre la pantalla no es un recibo de actualización.
Cambios automáticos o sin tocar nada
Varias interacciones pueden cambiar la programación sin una acción final deliberada:
- el horario del carrito de catering puede seleccionar la siguiente opción al recalcular;
- al vencer una hora programada guardada, se puede restablecer a ASAP;
- enfocar una superficie de pedido anticipado puede restablecer el momento actual a ASAP;
- al cambiar la fecha, se puede borrar la hora/momento anterior antes de aceptar otro; y
- el contexto compartido del pedido puede propagar un cambio de horario más allá de la superficie visible.
Estas son modificaciones de horario, no actualizaciones pasivas de presentación. No interpretes un cambio automático como confirmación del cliente, disponibilidad del negocio ni reemplazo seguro de una opción vencida.
Consecuencias para varios carritos y subtipos
Un momento compartido puede afectar a más de un carrito actual. En un pago para varios negocios, cada negocio puede tener horarios, zonas horarias, límites de anticipación, reglas de intervalos y elegibilidad diferentes. No consideres una opción válida para todo el grupo sin un resultado actual exacto por carrito.
Los subtipos de regalo, escuela, servicio/reserva, catering, entrega, recogida y otros pueden tener responsables y reglas de programación propios. Elegir una hora no conserva una reserva de servicio, contexto de estudiante, validez del carrito, estado del pago ni integridad del grupo.
Resultados desconocidos o parciales
| Estado observado | Interpretación segura |
|---|---|
| Cambia la fecha y desaparece la hora anterior | Es posible que se haya borrado localmente; no está resuelto el estado del servidor/carrito |
| Se selecciona automáticamente una opción | Puede haber una escritura sin toque pendiente o parcial |
| Se cierra la pantalla después de seleccionar | La navegación y la actualización del horario siguen siendo independientes |
| La etiqueta programada cambia a ASAP | La lógica de vencimiento o foco puede haber restablecido el horario; no infieras la intención del cliente |
| Un carrito muestra la hora y otro no | La programación de varios carritos es parcial |
| Desaparece la opción después de actualizar | Cambió la generación de opciones o la elegibilidad; no se ha demostrado que exista una reserva |
| Aparece un error o se pierde la respuesta | Pueden diferir los resultados locales, guardados, del carrito, servidor, socket y complemento |
| Continúa el pago o pedido | La programación, pago, realización y liquidación del pedido siguen siendo independientes |
Mientras el resultado sea desconocido, no repitas la selección, reabras la superficie, cambies el reloj del dispositivo ni realices otro pedido para diagnosticarlo.
Solucionar problemas de forma segura
| Lo que observas | Siguiente comprobación segura |
|---|---|
| No aparecen controles de programación | Considera que la programación no está disponible para el contexto actual; no infieras un fallo global |
| No aparecen horarios candidatos | Comprueba el negocio y contexto del pedido actuales sin cambiar la hora o el carrito como prueba |
| Las etiquetas de las opciones parecen desfasadas | Considera sin resolver la autoridad de zona horaria del dispositivo/negocio/servidor |
| Una opción termina fuera del horario comercial | No la uses; se debe conciliar la elegibilidad del fin del intervalo |
| La selección cierra la pantalla demasiado pronto | Considera desconocida la actualización del horario; no repitas inmediatamente |
| Una hora guardada se restablece automáticamente | Vuelve a confirmar el contexto actual mediante un flujo aprobado; no trates el cambio como intención |
| Difieren los horarios entre varios carritos | Conserva la incertidumbre por carrito; no infieras que el grupo esté listo |
| Cambió la cuenta, proyecto, negocio o tipo de pedido | Descarta los resultados de horario anteriores y usa solo el contexto actual |
Los informes de soporte deben usar solo clases de estado sin valores, como “momento programado sin resolver”. No incluyas fechas, horas, zonas horarias, datos de negocio o cliente, identificadores de carrito/pedido, enlaces ni capturas privadas.
Privacidad y accesibilidad
- Una hora programada puede revelar ubicación, rutina, entrega, escuela, servicio o contexto de evento. No incluyas horarios en documentación ni notas de soporte.
- Las pestañas de fecha, opciones de hora, estado ASAP, estados seleccionado/deshabilitado/ocupado/vencido/error e inicio/fin de intervalos requieren texto accesible explícito.
- Las listas horizontales de fechas y cuadrículas de horas deben poder usarse sin depender del color, bordes, movimiento o respuesta háptica.
- Con texto grande, las etiquetas de horarios y advertencias deben adaptarse sin ocultar el estado seleccionado. El foco debe volver de forma predecible después de confirmar, volver o el vencimiento automático.
- El comportamiento del lector de pantalla, teclado, conmutador, área segura, Atrás, movimiento reducido, zona horaria y horario de verano puede variar según el dispositivo, la versión de la aplicación y la ubicación.