En este post te mostraré otro sistema que he realizado recientemente. Se trata de un programa para llevar el control de eventos por tiempo, en donde se cobra por el tiempo que la persona ingresa al evento.

Esto está pensado para controlar el acceso a eventos como parques, piscinas, juegos, etcétera; ya que se registra el tiempo de entrada y de salida a partir de un número de pulsera.

Cuando la persona sale del evento se realiza el cobro del mismo y se imprime un ticket. Las características del software son:

  • Control de aforo: Indica cuántas personas están dentro del establecimiento o evento
  • Registro de datos con número de pulsera para tener un identificador
  • Posibilidad de acceder desde el teléfono o cualquier dispositivo para que una persona esté en la entrada y otra en la salida del evento a través de la LAN
  • Opción para anular los tickets
  • Reporte de ventas en donde se incluyen filtros por fecha y hora, así como un reporte que indica la cantidad de tickets vendidos o anulados.
  • Reporte de ticket con mayor costo y ticket con menor costo
  • Impresión de tickets en impresora térmica

Realmente este programa fue pensado para llevar el control de eventos a donde asisten niños acompañados con sus padres (en donde dependiendo del tiempo de la estancia, se realiza el cobro) pero se puede adaptar a cualquier circunstancia.

Registro de persona

Comencemos viendo lo que pasa cuando una persona quiere ingresar al evento. En este caso se registran todos sus datos.

Te recuerdo que en este caso es para niños, así que solicitamos los datos del padre o tutor, así como de la persona que ingresa al evento:

Registrar datos de persona para tiempo en evento

Registrar datos de persona para tiempo en evento

Es importante mencionar que en este caso el DNI o documento de identidad sirve para dos cosas: para registrar los datos, y para completar los datos si ese DNI ya está registrado.

Como puedes ver, el acceso al evento se controla con un código de pulsera o número de pulsera. Hasta este entonces todavía no empieza a contar el tiempo, se hace después.

Personas dentro de evento

Veamos el siguiente módulo. En este caso tenemos las personas registradas, mismas que podemos filtrar ya sea por número de pulsera o por fecha.

Ahí se muestra la entrada y salida. Si el niño o persona ya han salido del evento entonces se muestra el tiempo transcurrido (ahí dice 0 minutos porque inicié y terminé casi al instante):

Personas en evento para marcar entrada o salida y contar tiempo. Imprimir ticket y filtrar por número de pulsera

Personas en evento para marcar entrada o salida y contar tiempo. Imprimir ticket y filtrar por número de pulsera

De este modo podemos filtrar por día, o en un período de fechas. Además, por cada persona tenemos distintas opciones que son:

  • Marcar entrada: inicia el conteo del tiempo
  • Marcar salida: una vez que la persona ha entrado, se marca su salida
  • Imprimir tickets: imprimir el ticket (en impresora térmica) de entrada y de salida.

Marcar salida

Cuando el usuario sale del evento es cuando se detiene el tiempo y se le cobra al mismo. En este caso el cálculo del costo es: los primeros 30 minutos se cobran por 20 pesos, y después cada minuto adicional se cobra en 1 peso.

Marcar salida de evento - Cobrar por tiempo

Marcar salida de evento – Cobrar por tiempo

Y una vez que se ha pagado, ya se pueden imprimir los tickets o comprobantes.

Tickets en impresora térmica

Como lo dije, el ticket se imprime automáticamente en la impresora térmica seleccionada. Aquí una foto con varios tickets de ejemplo:

Tickets del sistema de eventos con cobro por tiempo - Impresos con impresora térmica

Tickets del sistema de eventos con cobro por tiempo – Impresos con impresora térmica

Por cierto, ahí también puedes ver un ejemplo de cómo se ve un ticket anulado.

Reporte de ingresos

Más adelante vemos el módulo del reporte de ingresos en donde se muestra el total recaudado en determinado período. Primero vemos el reporte por fechas:

Reporte de cobros e ingresos a eventos por tiempo - Mostrar entrada, salida y total

Reporte de cobros e ingresos a eventos por tiempo – Mostrar entrada, salida y total

Y luego tenemos ese mismo reporte pero por horas (internamente es un componente de Vue que recibe un período de fechas y horas, así que el componente se usa para los dos reportes pero con distintos seleccionadores):

Reporte de ventas del día por hora

Reporte de ventas del día por hora

Finalmente tenemos el reporte de tickets:

Reporte de tickets en software de boletería - Ticket mayor y menor, con cantidad de vendidos y anulados

Reporte de tickets en software de boletería – Ticket mayor y menor, con cantidad de vendidos y anulados

Ajustes

El último módulo del sistema tiene que ver con los ajustes del mismo. En este caso tenemos dos cosas principales: la configuración de la impresora térmica y el acceso al sistema a través de la red.

En este caso el software está pensado para ser usado en la red, por ello es que se proporciona la dirección y también un código QR que apunta a la misma.

Ajustes del sistema - Impresora y acceso a través de la LAN

Ajustes del sistema – Impresora y acceso a través de la LAN

Control de aforo

Como bien sabes, en estos tiempos el control del aforo es muy importante. Por ello es que se muestra la cantidad de personas en el evento en la barra superior:

Control de aforo en software para control de eventos por tiempo

Control de aforo en software para control de eventos por tiempo

Ahí a la izquierda se muestra “En evento”. Y cuando se registra un niño, ese valor cambia, así como cuando sale. Ese valor se refleja en todos los dispositivos.

Responsivo para teléfono y tabletas

Este programa funciona en una computadora, pero también (en modo cliente) para dispositivos móviles como un iPad, teléfono con Android, tableta, etcétera. Aquí una captura de cómo se vería en un iPhone X:

Programa de boletería, eventos y control de tiempo en iPhone X

Programa de boletería, eventos y control de tiempo en iPhone X

Vídeo de presentación

Apartado técnico

El programa está hecho con Vue y Buefy del lado del cliente, usando obviamente JavaScript. He separado algunos componentes como el del reporte por rangos de fechas.

Ya en el lado del servidor utilizo Go con SQLite3 para el almacenamiento de datos, y la comunicación de estos dos lenguajes se hace por HTTP.

Por cierto, es muy parecido al software para estacionamiento.

Descargar programa

En este caso el programa para controlar el aforo y conteo de tiempo en eventos no es gratuito ni open source. Si quieres obtener el programa:

  1. Lee este post y verifica si el programa es lo que quieres. Te entrego el programa que ves en las capturas (solo el programa, no el código).
  2. Realiza el pago por 100 dólares en uno de los métodos de pago listados haciendo clic aquí.
  3. Envíame un mensaje haciendo clic aquí, yo verificaré el pago y te enviaré el programa.

Finalmente te dejo con más programas que he creado y con más posts sobre programación en Go y JavaScript.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 2,824 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

2 Comentarios

Jose · octubre 5, 2021 a las 5:40 am

No será mejor tarifa fija

    parzibyte · octubre 5, 2021 a las 9:16 am

    El cliente puede solicitar una adaptación del sistema a la medida, se puede cambiar fácilmente

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: