# TechZone POS: direcciones, funciones y comprobacion

**Comprobado:** 12 de octubre de 2026 (UTC-06:00), despues de desplegar el portal y recompilar las aplicaciones  
**IP de los subdominios:** `135.237.98.79`

Este documento resume las aplicaciones, paginas, servicios y estado observado en produccion. Los codigos HTTP y DNS son una fotografia de la comprobacion indicada arriba; pueden cambiar despues de un despliegue.

## Directorio de aplicaciones y servicios

| Direccion | Funcion | Comprobacion |
|---|---|---|
| <https://tzpos.vexialabs.world/> | Aplicacion web TechZone POS: ventas, caja, catalogo, inventario y gestion segun la licencia. | HTTPS 200 |
| <https://tzposm.vexialabs.world/> | Aplicacion/acceso movil de POS y origen existente del manifiesto de actualizacion OTA. | HTTPS 200 |
| <https://consultoriotz.vexialabs.world/> | TechZone Consultorio: aplicacion y sesiones propias, separadas de POS; atencion, agenda y pacientes. | HTTPS 200 |
| <https://api.pos.vexialabs.world/health> | Estado de disponibilidad del API POS. | HTTPS 200 |
| <https://api.pos.vexialabs.world/docs> | Documentacion interactiva de las rutas del API. | HTTPS 200 |
| <https://api.pos.vexialabs.world/openapi.json> | Esquema OpenAPI de la version del API publicada. | HTTPS 200 |
| <https://api.pos.vexialabs.world/api/v1/setup/business-modules> | Lectura/guardado de giros habilitados; requiere autenticacion y permiso administrativo. | **404**; la ruta no esta publicada |
| <https://tzposm.vexialabs.world/updates/manifest.json> | Manifiesto OTA consultado por la app movil. No es el catalogo publico de instaladores. | HTTPS 200 |
| <https://techzonepos.vexialabs.world/> | Portal oficial multipagina con accesos, descargas, guia y solicitud de factura. | HTTPS 200; certificado valido |
| <https://techzonepos.vexialabs.world/direcciones/> | Directorio web de URLs, funciones y estado. | HTTPS 200 |
| <https://techzonepos.vexialabs.world/descargas/> | Descargas actuales: POS 0.1.18 y Consultorio 1.0.1. | HTTPS 200; cinco paquetes publicados |

### DNS, TLS y paginas del portal

`techzonepos.vexialabs.world` **ya resuelve** a `135.237.98.79`. Tambien resuelven a esa IP `api.pos.vexialabs.world`, `tzpos.vexialabs.world`, `tzposm.vexialabs.world` y `consultoriotz.vexialabs.world`.

El vhost de Nginx sirve el portal desde `/home/azureuser/techzonepos-web` por HTTPS, y el certificado valido de Let's Encrypt cubre `techzonepos.vexialabs.world`. HTTP redirige a HTTPS. Las paginas principales, el catalogo y los cinco paquetes devolvieron respuestas correctas en las verificaciones descritas mas abajo.

## Paginas publicadas del portal multipagina

Los archivos fuente estan en `Backends/techzone_pos_web/`; el portal publico esta en `https://techzonepos.vexialabs.world/`.

| Ruta | Funcion | Estado observado |
|---|---|---|
| `/` | Inicio, resumen de la solucion y navegacion. | HTTPS 200 |
| `/accesos/` | Accesos directos a POS web, POS movil, Consultorio, API y ayuda. | HTTPS 200 |
| `/descargas/` | Catalogo de versiones, instaladores y sumas SHA-256. | HTTPS 200; POS 0.1.18 y Consultorio 1.0.1 |
| `/manual/` | Guia de usuario imprimible/guardable como PDF en papel Carta. | HTTPS 200 |
| `/facturacion/` | Solicitud de factura asociada a una venta pagada. No emite CFDI. | HTTPS 200; API fiscal no incluida |
| `/direcciones/` | Directorio web HTML con aplicaciones y comprobaciones. | HTTPS 200 |
| `/updates/downloads.json` | Catalogo publico de instaladores, separado de OTA. | HTTPS 200; cinco paquetes |

El catalogo publica cinco paquetes versionados y sus SHA-256. El manifiesto OTA vigente permanece en el host movil y no se modifico; la publicacion web no cambia el origen OTA.

## Funciones de las aplicaciones

### POS

- Venta, caja, productos, clientes, inventario, compras y reportes.
- Para negocios habilitados: restaurante con comandas/flujo de cocina; farmacia con recetas, lotes y dispensacion; y servicios con cotizaciones, proyectos y seguimiento, segun lo instalado y licenciado.
- Las recetas deben conservar la unidad elegida para cada ingrediente (por ejemplo, g); cambiar entre Kg y g requiere conversion correcta de cantidad y consumo.
- La ruta de configuracion de giros no esta disponible en el API de produccion: `GET /api/v1/setup/business-modules` devolvio 404.
- La base de datos productiva inspeccionada aun no tiene columnas `unit` en `recipes` y `recipe_variant_components`. El codigo local contempla unidades, pero esto no demuestra que una seleccion en gramos se haya guardado en produccion.
- No se corrigieron automaticamente cantidades existentes como `200 Kg`; debe confirmarse la cantidad real antes de editar para evitar una conversion destructiva.

### Consultorio

- Aplicacion y sesiones independientes de POS; no comparte el cupo de sesiones POS.
- La direccion publicada comprobada es `consultoriotz.vexialabs.world`.
- El limite solicitado anteriormente es hasta dos sesiones de Consultorio; esta comprobacion no inicio sesion con una licencia de cliente y, por tanto, no verifico el contador real de sesiones.

### Dispositivos POS, Comandas, Cocina y Gestion

- El limite solicitado para la aplicacion POS es hasta dos dispositivos POS y hasta tres dispositivos Android APK.
- Comandas, Cocina y Gestion son superficies de la operacion POS, no subdominios independientes en este directorio.
- La prueba publica no inicio sesion ni registro dispositivos; no certifica los cupos actualmente activos en cada licencia.

### Servicios profesionales

El alcance funcional previsto para servicios incluye cotizaciones y presupuestos convertibles, horas facturables, proyectos e hitos de cobro, anticipos, gastos reembolsables y recordatorios/recurrentes. La existencia de una ruta, catalogo local o interfaz no implica que cada flujo este habilitado en el servidor publicado; la seleccion de giros aun responde 404.

### Facturacion, proveedores externos y firma

- El portal de solicitud de factura no sustituye la emision fiscal; la integracion de CFDI/SAT sigue pendiente.
- Pasarelas externas y enlaces de pago, conciliacion bancaria SPEI/ACH e integraciones de terceros no se deben dar por implementados por aparecer en este directorio.
- Firma digital certificada se dejo fuera del alcance de construccion por instruccion previa.

## Matriz de comprobacion HTTP

Consultas HTTPS efectuadas el 12 de octubre de 2026:

| Prueba | Resultado |
|---|---:|
| `https://tzpos.vexialabs.world/` | 200 |
| `https://tzposm.vexialabs.world/` | 200 |
| `https://consultoriotz.vexialabs.world/` | 200 |
| `https://api.pos.vexialabs.world/health` | 200 |
| `https://api.pos.vexialabs.world/docs` | 200 |
| `https://api.pos.vexialabs.world/openapi.json` | 200 |
| `https://api.pos.vexialabs.world/api/v1/setup/business-modules` | **404** |
| `https://tzpos.vexialabs.world/direcciones/` | 200 |
| `https://tzposm.vexialabs.world/updates/manifest.json` | 200 |
| `https://techzonepos.vexialabs.world/` | 200; TLS valido |
| `https://techzonepos.vexialabs.world/assets/site.css` | 200 |
| `https://techzonepos.vexialabs.world/assets/TZLogo.png` | 200 |
| `https://techzonepos.vexialabs.world/accesos/` | 200 |
| `https://techzonepos.vexialabs.world/descargas/` | 200 |
| `https://techzonepos.vexialabs.world/manual/` | 200 |
| `https://techzonepos.vexialabs.world/direcciones/` | 200 |
| `https://techzonepos.vexialabs.world/facturacion/` | 200 |
| `https://techzonepos.vexialabs.world/updates/downloads.json` | 200 |
| Cinco URL de paquetes declaradas en `downloads.json` | 206 en prueba de descarga parcial |

Las respuestas `206` corresponden a la solicitud de rango `0-0`, que confirma que cada paquete se sirve sin descargar el archivo completo durante la comprobacion.

## Compilaciones y distribuciones listas para probar

Se compilaron en modo release POS 0.1.18 para Windows x64, Android APK y Web; y Consultorio 1.0.1 para Windows x64 y Web. Los cinco archivos estan publicados en el catalogo con SHA-256 y organizados localmente bajo `Distribuciones/Actuales`. El contenido previo de `Distribuciones/Actuales` se conserva en `Distribuciones/Anteriores/2026-10-12-pre-compilacion`; `Distribuciones/Respaldos` no se modifico.

## Respaldos y cambios en produccion

Antes de intentar el despliegue se ejecuto el respaldo documentado en `deploy/backup-techzone.sh`: SQLite, codigo fuente y configuracion Nginx fueron copiados a los directorios de respaldo del usuario de despliegue. No se imprimieron ni copiaron credenciales.

No se actualizo el backend ni se ejecutaron migraciones: el checkout local y el checkout de la VM tienen cambios pendientes distintos. Reemplazar el repositorio remoto completo podria perder trabajo. La base productiva conserva el esquema anterior, y el endpoint de giros continua en 404; hace falta preparar un despliegue selectivo y compatible antes de afirmar que gramos o configuracion de giros ya quedaron resueltos.
