En este post te mostraré un programa que he terminado de hacer y que es totalmente gratuito. Se trata de un software para rentar consolas de juegos o computadoras por tiempo y cobrar por ese tiempo, con opción para agregar productos adicionales a la renta.
El sistema gratuito te ayudará si tú tienes un negocio de renta de consolas de juegos o tienes un cibercafé. De cierto modo esto podría ser una alternativa a CafeStation de CafeSuite o Control de Ciber.
Este sistema permite registrar equipos como consolas de juegos o computadoras con precio por hora, colocar tiempo libre o un tiempo límite y agregar productos al consumo de la renta.
Entre sus características se encuentran:
- Control de dispositivos con descripción y precio por hora
- Gestión de productos para vender, con descuento de inventario
- Módulo para rentar consolas, computadoras, etcétera ya sea por tiempo libre o con límite
- Escritorio con reporte de rentas y productos vendidos, así como gráficas de ventas y detalles
- Ajuste de redondeo y tolerancia para el costo de la renta
- Impresión de tickets en impresora térmica
- Soporte para móviles
- Opción para usar a través de la red de área local (LAN)
A lo largo de este artículo te mostraré los módulos del programa, cómo descargarlo y cómo usarlo.
Por cierto, no es un post falso ni algo para distribuir virus. Realmente te ofrezco un programa totalmente gratuito (no versión demo, sin restricciones) tal y como todo lo que publico en mi blog.
Gestión de dispositivos
Comencemos viendo la gestión de equipos, consolas de videojuegos, computadoras, etcétera. Aquí se registran los dispositivos que rentamos en nuestros negocios (por ejemplo Xbox, PlayStation, Nintendo Switch, PC, etcétera).
El formulario nos pide el precio por hora y la descripción del dispositivo, mismo que aparece más tarde en el módulo:
Obviamente podemos editar y eliminar los dispositivos. Solo ten cuidado, pues al eliminar un dispositivo se van a eliminar los datos de renta del mismo en caso de que existan.
Productos
Normalmente cuando se rentan consolas o computadoras los clientes consumen botanas o bebidas, así que he añadido la opción de llevar un inventario de productos para agregar junto con la renta de los equipos:
Tenemos la descripción y los precios de compra y venta para poder calcular la utilidad. Es como un pequeño sistema de ventas, con lo necesario para llevar la renta de consolas y venta de productos.
Se hace una gestión del inventario, ya que podemos agregar, editar o eliminar productos. Y cada que vendemos un producto, la existencia se resta.
Control de renta
Llegamos al apartado principal de este programa gratuito: la renta de consolas de videojuegos o computadoras. Aquí tenemos una lista de los dispositivos que tenemos registrados.
Al inicio, aparecen las opciones de:
- Tiempo libre: iniciar a rentar el dispositivo de manera libre, sin límite de tiempo. En este caso el tiempo va en aumento.
- Con límite: colocar una cuenta regresiva para el dispositivo, ya que se renta con límite.
Si elegimos con tiempo libre entonces se nos solicita confirmación y después el tiempo comienza a transcurrir, así como el costo en tiempo real.
Renta con límite de tiempo
Por otro lado tenemos la renta con límite, en donde al elegir la opción se nos solicita el tiempo que el usuario renta:
En la imagen de arriba, por ejemplo, vamos a rentar la consola Xbox Series S (con eso te armas una PC) por 3 horas y media.
Opciones al rentar
Lo que te mostré arriba es apenas la manera de iniciar la renta, pero una vez que el tiempo ya ha iniciado tenemos varias opciones.
En el caso de dispositivos con tiempo libre tenemos:
En donde podemos pasar de “Tiempo libre” a “Con límite”, así como Detener el tiempo para cobrar, Pausar el tiempo o editar los productos que van ligados a esa renta.
Y en el lado de dispositivos con tiempo límite tenemos otras opciones como se ve en la imagen:
Tenemos igualmente la opción para cambiar a Tiempo libre, Cobrar la renta (ya que aquí el tiempo no se detiene), Agregar tiempo (para cuando te dicen me das otra media hora por favor), pausar y gestionar Productos.
Productos de consola rentada
Como ya dije anteriormente, este sistema permite que el cliente consuma productos además de la renta de la computadora o consola. Cuando seleccionamos esa opción, aparece un modal con la información:
Tal y como se ve en la imagen, podemos escribir parte de la descripción del producto y el mismo se va a autocompletar.
Se pueden agregar productos infinitos, al final se irá viendo la lista de todos los productos agregados en donde también se pueden eliminar:
Terminar renta de consola
Otro apartado para este programa de renta de consolas y computadoras es el de Cobrar. Este diálogo va a aparecer cuando detengamos el tiempo libre o cuando decidamos cobrar el tiempo con límite.
Es importante mencionar que si el tiempo límite no se detiene, aparecerá una sugerencia con el monto que realmente se debería cobrar. Es decir, si el usuario “se pasa” del tiempo límite, el mismo se vuelve negativo y se cobra:
Fíjate en el fondo: tenemos un tiempo negativo de 9 horas, esto es porque el usuario ya se pasó de las 3 horas y media que rentó al inicio.
Entonces en el diálogo aparece el monto por el tiempo rentado y también el monto por el tiempo real. Ahí es decisión del operador cobrar lo que sea necesario (igualmente el costo, inicio y fin se registran en la base de datos).
Por otro lado tenemos el cobro normal de tiempo en donde también se toman en cuenta los productos:
Y todos los productos, precios, tiempos, etcétera quedan registrados en la base de datos. Una vez que se cobra la renta, el dispositivo vuelve a estar disponible para rentarse y comenzar un nuevo ciclo.
Impresión de tickets
Cada vez que se realiza el cobro de la renta de la consola o pc, se imprime un ticket automáticamente en caso de que la impresora esté configurada correctamente. A continuación te muestro cómo salen los tickets:
En el ticket o recibo de pago aparece todo: el tiempo de inicio, el fin, tiempo transcurrido, tiempo pausado, equipo rentado, costo por hora y los detalles de los productos comprados así como el gran total.
Obviamente si no hay tiempo pausado entonces el mismo no aparece, de igual manera si no hay productos entonces la lista no aparece.
Por cierto, los tickets pueden reimprimirse en el Escritorio, pero eso lo vamos a ver más adelante.
Nota: el sistema solo soporta impresoras térmicas. No intentes usar impresoras virtuales o de tinta (o como se llamen las no térmicas).
Ajustes
Además de la renta y de los reportes, tenemos un apartado de ajustes. Aquí tenemos dos cosas importantes para el caso de la renta de consolas: la configuración del redondeo y los ajustes de la impresora.
Ajuste de costo, tolerancia y redondeo
Veamos este ajuste para hacer más accesible el costo del tiempo rentado. Por cierto, si tú no quieres que esto aplique simplemente no muevas nunca ningún campo.
El costo por hora es un costo de ejemplo que debes colocar para que el simulador funcione. Este costo puede ser un costo real de una de tus consolas.
Para el caso de lo que se ve en la imagen, el costo por hora es de 50 pesos, y se redondea a los próximos 30 minutos con una tolerancia de 5 minutos.
Esto significa que si el usuario tarda entre 0 y 30 minutos, se le cobrarán 30 minutos. O sea, no importa si tarda 1 minuto o 29, se le va a redondear a los próximos 30 minutos (si tarda entre 30 y 60 minutos, se le va a cobrar una hora, sin tomar la tolerancia que vamos a ver justo a continuación)
Por otro lado tenemos la tolerancia; en este caso si por ejemplo el usuario tarda 35 minutos se restan esos 5 minutos de tolerancia y solo se le cobra media hora, en lugar de cobrarle una hora completa.
Y si tú me preguntas por qué tantos ajustes, te invito primero a probarlo y entenderlo, no es tan complicado como parece. Lo he dejado así porque en ocasiones el costo sale con varios decimales.
De todos modos ahí está el simulador como puedes ver en la imagen, de ese modo puedes ver cuánto se le cobra al usuario según el tiempo.
Impresora
Este punto es muy importante. Este software es compatible con la gran mayoría de impresoras térmicas, pero no imprime por sí mismo; usa un plugin que yo mismo he desarrollado (no obstante ambas cosas son totalmente distintas y separadas).
Entonces para que todo funcione debes ir a la siguiente página: https://parzibyte.me/plugin-impresora-termica-v1/comenzar_a_usar.php y probar todos los pasos, hasta el paso número 7.
Si todo funciona bien entonces has configurado correctamente tu impresora, ahora solo basta con ir a los ajustes del sistema y configurarla desde ahí:
No te confundas. Una cosa es descargar el plugin, configurarlo y probarlo. Una vez que esté probado entonces ya puedes ir al sistema y configurar el sistema con el plugin. Y también cabe aclarar que el sistema funciona bien incluso sin impresora ni plugin.
Escritorio y reportes
Nota: si notas inconsistencia en los datos mostrados a continuación es porque son datos aleatorios que generé para rellenar la base de datos.
Al final de todo tenemos los reportes dentro del escritorio. Primero tenemos un reporte en donde podemos seleccionar (con precisión de segundos) el rango de fechas en las que queremos ver el reporte:
Como puedes ver tenemos el total con el tiempo rentado, el tiempo transcurrido con todas las pausas y el costo por renta junto con los productos. También es aquí en donde tenemos la opción de volver a imprimir los tickets.
Por otro lado tenemos las gráficas con ganancias por mes, en donde podemos elegir un año y ver cómo nos ha ido en todo ese año separado por mes. De manera similar tenemos una gráfica para elegir un mes y un año y ver las ganancias por día:
Finalmente me di a la tarea de ver cómo se comportan los equipos rentados y sacar una gráfica de las veces que se rentan, el tiempo total que se rentan y cuántos ingresos generan (ya que aunque una consola se rente mucho, puede que no nos dé muchos ingresos, o viceversa):
Con estos datos podemos analizar cómo se comporta nuestro negocio y saber cuáles consolas o computadoras son las que generan más, así como saber cuáles nos dan más ingresos y todo eso.
Apartado técnico
Por si te interesa saberlo, el sistema fue creado con Buefy y Go. Buefy obviamente del lado del cliente, y Go del lado del servidor con el framework de Gorilla. Para las bases de datos utilicé SQLite3 sin ORM.
Para el caso de las gráficas utilicé Chart.js integrándolo en Vue como en este tutorial. Debido a que usé Buefy que a su vez usa Bulma, el programa es totalmente responsivo. Así se ve en mi POCO X3:
Obviamente puedes comenzar y detener la renta de consolas desde cualquier dispositivo, ya que todo se gestiona en el servidor.
Descargar programa
Ahora te mostraré cómo instalar y descargar el programa. Primero procede a descargarlo haciendo clic aquí.
Una vez que lo tengas extrae el zip y ejecuta control_tiempo_by_parzibyte_prod_64.exe
. Si el antivirus o el Firewall se quejan, dale los permisos necesarios. Si todo va bien, el programa abrirá automáticamente el navegador web en http://localhost:5000/static/index.html
Nota: si el programa no inicia te recomiendo revisar el registro del sistema que tendrá un nombre parecido a Registro del sistema_2021-11.log
Nota 2: para conectarte por red local averigua la IP de la computadora en donde el programa se ejecuta, y en el dispositivo desde el que te vayas a conectar escribe la IP seguida de :5000/static/.
Por ejemplo, si la IP de tu computadora es 192.168.100.14
entonces en el navegador del otro dispositivo debes escribir http://192.168.100.14:5000/static/
Y así de simple el programa funcionará correctamente. En cuanto al plugin de impresión ya dejé las instrucciones anteriormente.
Código fuente y funcionamiento en internet
El programa es totalmente gratuito y lo puede usar cualquier persona sin restricciones de tiempo ni mal funcionamiento. Sin embargo, el software no es open source.
Si quieres el código el costo es de 75
USD. Para conseguirlo realiza el pago con los métodos listados en esta página y luego envíame un mensaje indicando el ID de transacción.
Este software puede funcionar en internet y en servidores web. Si quieres que esté en internet simplemente obtén el código fuente, súbelo a un VPS en donde puedas instalar Go y NPM, compílalo y accede al mismo (también puedes contratarme para subirlo, solo indícame que lo quieres en internet después de haber comprado el código)
También puedes compilar este programa para Linux, Android y MacOS. De hecho puedes compilarlo en cualquier lugar donde exista GCC, el compilador de Go y NPM (aunque NPM es opcional porque puedes compilar el JS en otro lado, pero eso es otra historia).
Conclusión
Por cierto, este programa está altamente inspirado (pero juro que no copié ni pegué nada) en el control de estacionamientos. Fue complejo implementar las pausas y el conteo del tiempo, pero al final todo funcionó perfectamente.
Para terminar te dejo con más programas que he creado.
Excelente trabajo y que buen gesto el de compartir tus creaciones.
Gracias por sus comentarios. Saludos!
Que increíble software, espero que sigas creciendo en el gran mundo de la programación y que seas una persona reconocida en un futuro no tan lejano, ánimos compadre.
Gracias por sus comentarios.
Saludos!