Ver Mensaje Individual
  #7  
Antiguo 11-07-2022
tsk tsk is offline
Miembro
 
Registrado: dic 2017
Posts: 52
Reputación: 7
tsk Va por buen camino
Corrigeme si esta no es la idea:

1.- Cuando llega el cliente, introduce sus datos y selecciona la(s) operaciones que desea realizar. De acuerdo a esto se le asigna un turno al área adecuada.

2.- El cliente espera, observando una pantalla para que le indique cuando llegó su turno y el lugar a donde debe de dirigirse.

Si es eso, imaginalo como un patrón pub-sub.

Nota: Este es un ejemplo bastante simple, pero podría servir para aclarar ideas o como punto de partida.

1.- En donde en la entrada, el usuario se registra, este dispositivo estaría publicaría al tema, /surcursal<No>/add/turn algo como
Código:
{
  client: "Numero de cliente o datos del cliente",
  operation: ["Operacion(es)","a","realizar"]
}
Y este mismo dispositivo estaría suscrito a /sucursal<No>/confirmed/turn

En el cual recibe la confirmación de una forma similar a

Código:
{
  client: "Numero de cliente o datos del cliente",
  operation: ["Operacion(es)","a","realizar"],
  turn: "Codificación del turno",
  area: "Area a donde se tiene que dirigir",
  print: "Yes/No"
}
2.- La pantalla que indica a donde debes de dirigirte que estaría suscrito a un tema como /sucursal<No>/current_turn/turn con algo como

Código:
{
  turn: "Codificación del turno",
  area: "Area a donde se tiene que dirigir",
  agent: "Agente, Caja, o Representante al que tiene que acudir"
}
También para facilitar la ubicación del lugar donde tienes que asistir se podría agregar una codificación de colores, para que, desde una distancia adecuada puedas ir directamente con el representante que te toca, entonces se le podría agregar algo como

Código:
{
  turn: "Codificación del turno",
  area: "Area a donde se tiene que dirigir",
  agent: "Agente, Caja, o Representante al que tiene que acudir",
  color: "Color en formato RGB"
}
3.- El boton de llamar cliente que publicaría a /sucursal<No>/area/agent/next_client con la información de su área

Código:
{
    area: "Area",
    agent: "Representante",
    location: "..."
}
Y que estaría suscrito a algo como /sucursal<No>/area/agent/current_client que contenga los datos del cliente y lo que prentende hacer

Código:
{
  client: "Numero de cliente o datos del cliente",
  operation: ["Operacion(es)","a","realizar"],
  turn: "Codificación del turno",
  color: "Color en formato RGB" <-- opcional, por si se agrega codificación por color
}
4.- Un mini servidor que se puede hacer con dispositivos como el Raspberry Pi (hasta el más económico) que se encargue de la base de datos y de asignar los turnos de acuerdo con la información que le este llegando. Así por ejemplo estaría suscrito a los temas a los que publican los demás dispositivos además y publicaría a los temas a los que los demás dispositivos están suscritos.


Para esto existen protocolos como MQTT.
Responder Con Cita