feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
85
themes/vivespos/partials/home/comparison.htm
Normal file
85
themes/vivespos/partials/home/comparison.htm
Normal file
@@ -0,0 +1,85 @@
|
||||
description = "Comparativa vs otros POS del mercado"
|
||||
==
|
||||
<section id="comparativa" class="py-5 py-md-6">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<p class="eyebrow eyebrow-red mb-2">Comparativa</p>
|
||||
<h2 class="display-5 fw-bold mb-2">Por que cambiar a VivesPOS</h2>
|
||||
<p class="lead text-muted">Compara VivesPOS con los POS tradicionales de Mexico.</p>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover vp-compare-table rounded-4 overflow-hidden">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="p-3" style="width:30%;">Caracteristica</th>
|
||||
<th class="p-3 text-center vp-self">VivesPOS</th>
|
||||
<th class="p-3 text-center">POS en la nube</th>
|
||||
<th class="p-3 text-center">POS tradicional</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="p-3">Funciona sin internet</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-check2 vp-check"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Sin suscripcion obligatoria</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-check2 vp-check"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Tus datos 100% tuyos (local)</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-check2 vp-check"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Sincronizacion con la nube opcional</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-check2 vp-check"></i> (forzada)</td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Optimizado para teclado y scanner</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i> (touch)</td>
|
||||
<td class="p-3 text-center"><i class="bi-dash text-muted"></i> (depende)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Corte X y Z profesionales</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-dash text-muted"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-dash text-muted"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Roles y permisos (Admin/Sup/Cajero)</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Multiplataforma (Win + Linux)</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-check2 vp-check"></i> (navegador)</td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i> (Win solo)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Sin vendor lock-in</td>
|
||||
<td class="p-3 text-center vp-self"><i class="bi-check2 vp-check"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
<td class="p-3 text-center"><i class="bi-x vp-cross"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="p-3">Precio inicial</td>
|
||||
<td class="p-3 text-center vp-self fw-bold text-brand">$0</td>
|
||||
<td class="p-3 text-center">$500+/mes</td>
|
||||
<td class="p-3 text-center">$5,000-$15,000</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
19
themes/vivespos/partials/home/cta.htm
Normal file
19
themes/vivespos/partials/home/cta.htm
Normal file
@@ -0,0 +1,19 @@
|
||||
description = "CTA final — gradient brand, WhatsApp"
|
||||
==
|
||||
<section id="cta" class="py-5 py-md-6 bg-gradient-brand">
|
||||
<div class="container text-center">
|
||||
<h2 class="display-5 fw-bold text-white mb-3">Empieza a vender con VivesPOS hoy</h2>
|
||||
<p class="lead text-white-50 mb-4">Descarga la version gratuita o agenda una demo con un especialista. Sin compromisos, sin spam, sin tarjeta de credito.</p>
|
||||
<div class="row justify-content-center g-3">
|
||||
<div class="col-md-5 col-lg-3">
|
||||
<a href="https://wa.me/523317025248?text=Hola%2C%20quiero%20una%20demo%20de%20VivesPOS" class="btn btn-lg btn-light w-100 fw-semibold" target="_blank" rel="noopener">
|
||||
<i class="bi-whatsapp me-2 text-success"></i>Agendar demo gratuita
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-5 col-lg-3">
|
||||
<a href="#precios" class="btn btn-lg btn-outline-light w-100 fw-semibold">Ver planes y precios</a>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-white-50 small mt-4 mb-0">Sin spam · Sin compromisos · Respuesta en menos de 2 horas en horario habil</p>
|
||||
</div>
|
||||
</section>
|
||||
132
themes/vivespos/partials/home/faq.htm
Normal file
132
themes/vivespos/partials/home/faq.htm
Normal file
@@ -0,0 +1,132 @@
|
||||
description = "FAQ — preguntas frecuentes + requisitos + instalacion"
|
||||
==
|
||||
<section id="faq" class="py-5 py-md-6 bg-light">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<p class="eyebrow eyebrow-violet mb-2">FAQ</p>
|
||||
<h2 class="display-5 fw-bold mb-2">Preguntas frecuentes</h2>
|
||||
</div>
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-8">
|
||||
<div class="accordion vp-faq" id="faqAccordion">
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq1">
|
||||
VivesPOS funciona sin internet?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq1" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">Si. VivesPOS es offline-first. Vende, cobra, imprime y controla stock sin conexion. La sincronizacion con la nube es 100% opcional y ocurre en segundo plano cuando hay conexion disponible.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq2">
|
||||
En que sistemas operativos funciona?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq2" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">Windows 10/11 (installer EXE) y Linux (AppImage o DEB). Requisitos minimos: 4GB RAM, 500MB espacio en disco. No requiere tarjeta grafica dedicada.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq3">
|
||||
Necesito pagar una suscripcion mensual?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq3" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">No. VivesPOS Free es gratis para siempre. VivesPOS Pro es pago unico ($3,500 MXN). El Soporte Premium ($1,200 MXN/mes) es opcional para quienes quieren soporte humano y actualizaciones.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq4">
|
||||
Mis datos estan seguros?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq4" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">Tus datos son 100% tuyos. Se guardan localmente en SQLite (base de datos local). Puedes hacer backups manuales cuando quieras. Nunca se envian a servidores externos sin tu consentimiento. El audit log registra cada operacion sensible.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq5">
|
||||
Que impresoras soporta?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq5" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">Impresoras ESC/POS via USB, red TCP, o cola del sistema (Windows/Linux). Si no hay impresora fisica, genera PDF automaticamente como fallback. Soporta logo y lineas de branding personalizables en el ticket.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq6">
|
||||
Puedo usar VivesPOS en varias cajas?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq6" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">Si. Con VivesPOS Pro puedes sincronizar multiples cajas mediante el modo nube. Las ventas se registran localmente y se sincronizan automaticamente con un punto central cuando hay conexion. Si se cae internet, sigues vendiendo sin interrupcion.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq7">
|
||||
Que atajos de teclado usa?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq7" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">
|
||||
<span class="vp-key-badge">F1</span> Buscar producto ·
|
||||
<span class="vp-key-badge">F3</span> Cambiar cantidad ·
|
||||
<span class="vp-key-badge">F4</span> Borrar linea ·
|
||||
<span class="vp-key-badge">F5</span> Cobrar ·
|
||||
<span class="vp-key-badge">F6/F7</span> Suspender/Reanudar ·
|
||||
<span class="vp-key-badge">F11</span> Reimprimir ·
|
||||
<span class="vp-key-badge">Esc</span> Cancelar ·
|
||||
<span class="vp-key-badge">Enter</span> Confirmar
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0 shadow-sm rounded-3 mb-3">
|
||||
<h3 class="accordion-header">
|
||||
<button class="accordion-button collapsed fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#faq8">
|
||||
Puedo migrar desde otro POS?
|
||||
</button>
|
||||
</h3>
|
||||
<div id="faq8" class="accordion-collapse collapse" data-bs-parent="#faqAccordion">
|
||||
<div class="accordion-body text-muted">Si. VivesPOS soporta importacion de productos via CSV (codigo, nombre, precio, barcode, stock). Te ayudamos con la migracion inicial si contratas el Soporte Premium.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div id="requisitos" class="card border-0 shadow-sm rounded-4 p-4 mb-4">
|
||||
<h3 class="h5 fw-bold mb-3"><i class="bi-hdd text-brand me-2"></i>Requisitos del sistema</h3>
|
||||
<ul class="list-unstyled small mb-0">
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Windows 10/11 o Linux</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>4GB RAM minimo (8GB recomendado)</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>500MB espacio en disco</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Scanner de codigo de barras USB</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Impresora ESC/POS (opcional)</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Cajon de dinero (opcional)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="instalacion" class="card border-0 shadow-sm rounded-4 p-4">
|
||||
<h3 class="h5 fw-bold mb-3"><i class="bi-download text-brand me-2"></i>Instalacion</h3>
|
||||
<ol class="small mb-0 ps-3">
|
||||
<li class="mb-2">Descarga el installer (EXE para Windows, AppImage para Linux)</li>
|
||||
<li class="mb-2">Ejecuta el asistente de primer arranque</li>
|
||||
<li class="mb-2">Crea tu usuario Administrador y cambia el password</li>
|
||||
<li class="mb-2">Importa tus productos (CSV o manual)</li>
|
||||
<li class="mb-2">Configura tu impresora ESC/POS</li>
|
||||
<li class="mb-2">Abre caja y empieza a vender</li>
|
||||
</ol>
|
||||
<a href="https://wa.me/523317025248?text=Hola%2C%20necesito%20ayuda%20con%20la%20instalacion%20de%20VivesPOS" class="btn btn-brand-cta btn-sm w-100 mt-3" target="_blank" rel="noopener">
|
||||
<i class="bi-whatsapp me-1"></i>Ayuda con instalacion
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
85
themes/vivespos/partials/home/features.htm
Normal file
85
themes/vivespos/partials/home/features.htm
Normal file
@@ -0,0 +1,85 @@
|
||||
description = "Features grid — 8 key features"
|
||||
==
|
||||
<section id="features" class="py-5 py-md-6 bg-light">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<p class="eyebrow eyebrow-green mb-2">Por que VivesPOS</p>
|
||||
<h2 class="display-5 fw-bold mb-2">Todo lo que tu caja necesita, sin depender de la nube</h2>
|
||||
<p class="lead text-muted">Cada feature resuelve un dolor real del comercio mexicano.</p>
|
||||
</div>
|
||||
<div class="row g-4">
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">🔌</div>
|
||||
<h3 class="h6 fw-bold">Offline-First</h3>
|
||||
<p class="text-muted small mb-0">Vende, cobra e imprime sin internet. La sincronizacion con la nube es opcional y ocurre en segundo plano.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">⌨️</div>
|
||||
<h3 class="h6 fw-bold">Teclado y Scanner</h3>
|
||||
<p class="text-muted small mb-0">Diseniado para velocidad: scan, F1 buscar, F3 cantidad, F4 borrar, F5 cobrar. El mouse es secundario.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">🧾</div>
|
||||
<h3 class="h6 fw-bold">Tickets ESC/POS</h3>
|
||||
<p class="text-muted small mb-0">Impresion directa USB, red, o sistema. Fallback a PDF. Logo y branding personalizables en el ticket.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">💵</div>
|
||||
<h3 class="h6 fw-bold">Corte X y Corte Z</h3>
|
||||
<p class="text-muted small mb-0">Control profesional de caja: apertura, cierre, movimientos de entrada/salida, reporte de ventas del dia.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">📦</div>
|
||||
<h3 class="h6 fw-bold">Stock y Alertas</h3>
|
||||
<p class="text-muted small mb-0">Control de inventario con stock minimo, alertas de reabastecimiento y ajustes manuales. Import por CSV.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">👥</div>
|
||||
<h3 class="h6 fw-bold">Usuarios y Roles</h3>
|
||||
<p class="text-muted small mb-0">Administrador, Supervisor, Cajero. Permisos por rol para descuentos, cancelaciones y cierre de caja.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">💳</div>
|
||||
<h3 class="h6 fw-bold">Multi-Pago</h3>
|
||||
<p class="text-muted small mb-0">Efectivo, tarjeta, o pago mixto. Calculo de cambio automatico. Sin almacenar datos de tarjetas.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-3">
|
||||
<div class="vp-feature-card card border-0 shadow-sm h-100 rounded-4 p-3">
|
||||
<div class="card-body">
|
||||
<div class="mb-2" style="font-size:2rem;">🔐</div>
|
||||
<h3 class="h6 fw-bold">Tus Datos, Tu Control</h3>
|
||||
<p class="text-muted small mb-0">Base de datos local SQLite. Backups manuales. Audit log de cada operacion. Nada se envia fuera sin tu permiso.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
53
themes/vivespos/partials/home/hero.htm
Normal file
53
themes/vivespos/partials/home/hero.htm
Normal file
@@ -0,0 +1,53 @@
|
||||
description = "Hero — offline-first POS, stats, WhatsApp CTA"
|
||||
==
|
||||
<section id="hero" class="vp-hero-section">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-7">
|
||||
<p class="eyebrow eyebrow-blue mb-2">Punto de Venta · Offline-First · Mexico</p>
|
||||
<h1 class="display-4 fw-bold mb-3">Vende <em style="color:var(--vp-brand); font-style:normal;">sin internet</em>. Tus datos <em style="color:var(--vp-brand); font-style:normal;">siempre tuyos</em>.</h1>
|
||||
<p class="lead text-muted mb-4">VivesPOS es un punto de venta diseniado para el comercio mexicano: rapido con teclado y scanner, corte de caja profesional, impresion de tickets y control de stock — todo offline. Sincroniza con la nube cuando tu decidas.</p>
|
||||
<div class="d-flex flex-wrap gap-3 mb-4">
|
||||
<a href="https://wa.me/523317025248?text=Hola%2C%20quiero%20una%20demo%20de%20VivesPOS" class="btn btn-lg btn-brand-cta" target="_blank" rel="noopener">
|
||||
<i class="bi-whatsapp me-2"></i>Agendar demo gratuita
|
||||
</a>
|
||||
<a href="#features" class="btn btn-lg btn-outline-secondary">Ver caracteristicas</a>
|
||||
</div>
|
||||
<div class="row g-3 mt-3">
|
||||
<div class="col-6 col-md-3"><div class="vp-stat"><div class="vp-stat-number">100%</div><div class="vp-stat-label">Offline</div></div></div>
|
||||
<div class="col-6 col-md-3"><div class="vp-stat"><div class="vp-stat-number">0</div><div class="vp-stat-label">Suscripcion forzada</div></div></div>
|
||||
<div class="col-6 col-md-3"><div class="vp-stat"><div class="vp-stat-number">F1-F11</div><div class="vp-stat-label">Atajos de teclado</div></div></div>
|
||||
<div class="col-6 col-md-3"><div class="vp-stat"><div class="vp-stat-number">Win+Linux</div><div class="vp-stat-label">Multiplataforma</div></div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5 mt-4 mt-lg-0">
|
||||
<div class="card shadow-sm border-0 rounded-4 p-4">
|
||||
<p class="h5 fw-bold mb-2">Pide tu demo en 2 minutos</p>
|
||||
<p class="text-muted small mb-3">Te llamamos, te mostramos VivesPOS en vivo y te ayudamos a instalarlo. Sin compromiso.</p>
|
||||
<form action="https://wa.me/523317025248" method="get" target="_blank" rel="noopener">
|
||||
<div class="mb-3">
|
||||
<input type="text" class="form-control" name="text" placeholder="Tu nombre" required>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<input type="tel" class="form-control" name="text" placeholder="Tu telefono (WhatsApp)">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<select class="form-select">
|
||||
<option>Tienda de abarrotes</option>
|
||||
<option>Farmacia</option>
|
||||
<option>Ropa / calzado</option>
|
||||
<option>Autopartes</option>
|
||||
<option>Restaurante / fonda</option>
|
||||
<option>Otro retail</option>
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-brand-cta w-100">
|
||||
<i class="bi-whatsapp me-2"></i>Solicitar demo
|
||||
</button>
|
||||
</form>
|
||||
<p class="text-muted small mt-2 mb-0 text-center">Sin spam · Respuesta en 2h habiles</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
73
themes/vivespos/partials/home/modes.htm
Normal file
73
themes/vivespos/partials/home/modes.htm
Normal file
@@ -0,0 +1,73 @@
|
||||
description = "Modos: Offline vs Nube — toggle interactivo"
|
||||
==
|
||||
<section id="modos" class="py-5 py-md-6">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<p class="eyebrow eyebrow-violet mb-2">Dos modos de trabajar</p>
|
||||
<h2 class="display-5 fw-bold mb-2">Offline o con la nube — tu decides</h2>
|
||||
<p class="lead text-muted">Empieza offline hoy. Conecta con la nube cuando lo necesites. Sin migraciones, sin perdida de datos.</p>
|
||||
</div>
|
||||
<div class="vp-mode-toggle">
|
||||
<button class="vp-mode-btn active" id="modeOffline" onclick="vpShowMode('offline')">📍 Solo Offline</button>
|
||||
<button class="vp-mode-btn" id="modeCloud" onclick="vpShowMode('cloud')">☁️ Con Sincronizacion Nube</button>
|
||||
</div>
|
||||
<div id="modeContentOffline" class="vp-mode-detail">
|
||||
<div class="row g-4 align-items-center">
|
||||
<div class="col-lg-6">
|
||||
<div class="vp-mode-card card border-0 shadow-sm rounded-4 p-4 h-100">
|
||||
<h3 class="h4 fw-bold mb-3"><i class="bi-wifi-off text-brand me-2"></i>Modo Offline</h3>
|
||||
<p class="text-muted">VivesPOS funciona 100% local. Ideal para una sola tienda o puesto.</p>
|
||||
<ul class="list-unstyled">
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Vende sin internet.</strong> Tu POS nunca se detiene.</span></li>
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Datos locales.</strong> SQLite en tu maquina, backups manuales.</span></li>
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Cero costo recurrente.</strong> Sin servidores, sin suscripcion.</span></li>
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Privacidad total.</strong> Nada sale de tu equipo.</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="vp-screenshot bg-light rounded-4 d-flex align-items-center justify-content-center" style="min-height:300px;">
|
||||
<div class="text-center p-4">
|
||||
<i class="bi-laptop" style="font-size:4rem; color:var(--vp-brand);"></i>
|
||||
<p class="fw-bold mt-3 mb-1">Tu computadora = tu POS</p>
|
||||
<p class="text-muted small mb-0">Windows 10/11 o Linux<br>4GB RAM minimo<br>Sin internet requerido</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="modeContentCloud" class="vp-mode-detail" style="display:none;">
|
||||
<div class="row g-4 align-items-center">
|
||||
<div class="col-lg-6">
|
||||
<div class="vp-mode-card card border-0 shadow-sm rounded-4 p-4 h-100" style="border:2px solid var(--vp-brand);">
|
||||
<h3 class="h4 fw-bold mb-3"><i class="bi-cloud-check text-brand me-2"></i>Sincronizacion con la Nube</h3>
|
||||
<p class="text-muted">Conecta multiples cajas o sincroniza con tu sistema central cuando haya internet.</p>
|
||||
<ul class="list-unstyled">
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Sincronizacion automatica.</strong> Las ventas se suben en segundo plano.</span></li>
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Multi-caja.</strong> Conecta varias terminales a un punto central.</span></li>
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Resiliente.</strong> Si se cae internet, sigues vendiendo. Se sincroniza al volver.</span></li>
|
||||
<li class="mb-3 d-flex gap-2"><i class="bi-check2-circle text-success fs-5"></i><span><strong>Facturacion global.</strong> Genera facturas del dia automaticamente.</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="vp-screenshot bg-light rounded-4 d-flex align-items-center justify-content-center" style="min-height:300px;">
|
||||
<div class="text-center p-4">
|
||||
<i class="bi-diagram-3" style="font-size:4rem; color:var(--vp-brand);"></i>
|
||||
<p class="fw-bold mt-3 mb-1">Multiples cajas + nube</p>
|
||||
<p class="text-muted small mb-0">Sincronizacion en segundo plano<br>Transactional outbox<br>Retry automatico<br>Idempotencia garantizada</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<script>
|
||||
function vpShowMode(mode) {
|
||||
document.getElementById('modeContentOffline').style.display = mode === 'offline' ? 'block' : 'none';
|
||||
document.getElementById('modeContentCloud').style.display = mode === 'cloud' ? 'block' : 'none';
|
||||
document.getElementById('modeOffline').classList.toggle('active', mode === 'offline');
|
||||
document.getElementById('modeCloud').classList.toggle('active', mode === 'cloud');
|
||||
}
|
||||
</script>
|
||||
79
themes/vivespos/partials/home/pricing.htm
Normal file
79
themes/vivespos/partials/home/pricing.htm
Normal file
@@ -0,0 +1,79 @@
|
||||
description = "Pricing — 3 planes: Gratis, Pro, Soporte Premium"
|
||||
==
|
||||
<section id="precios" class="py-5 py-md-6 bg-light">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<p class="eyebrow eyebrow-blue mb-2">Inversion</p>
|
||||
<h2 class="display-5 fw-bold mb-2">Precios honestos, sin letra pequena</h2>
|
||||
<p class="lead text-muted">Empieza gratis. Crece cuando lo necesites. Sin suscripcion obligatoria.</p>
|
||||
</div>
|
||||
<div class="row g-4 justify-content-center">
|
||||
<div class="col-md-6 col-lg-4">
|
||||
<div class="card border-0 shadow-sm h-100 rounded-4">
|
||||
<div class="card-body p-4">
|
||||
<h3 class="h4 fw-bold">VivesPOS Free</h3>
|
||||
<p class="display-6 fw-bold mb-1" style="color:var(--vp-brand);">$0</p>
|
||||
<p class="text-muted small">Para siempre</p>
|
||||
<p class="text-muted small mb-3">Todo lo esencial para empezar a vender.</p>
|
||||
<hr>
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Venta offline ilimitada</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Corte X y Corte Z</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Impresion ESC/POS</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>1 usuario Cajero</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Productos y barcodes</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Stock basico</li>
|
||||
<li class="mb-2 text-muted"><i class="bi-dash text-muted me-2"></i>1 caja</li>
|
||||
<li class="mb-2 text-muted"><i class="bi-dash text-muted me-2"></i>Sin sincronizacion nube</li>
|
||||
</ul>
|
||||
<a href="https://wa.me/523317025248?text=Quiero%20descargar%20VivesPOS%20Free" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener">Descargar gratis</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-4">
|
||||
<div class="card border-0 shadow-sm h-100 rounded-4" style="border:2px solid var(--vp-brand);">
|
||||
<div class="card-body p-4">
|
||||
<span class="badge rounded-pill px-3 py-1 mb-3" style="background:#f9d94e; color:#1a1a1a;">Mas popular</span>
|
||||
<h3 class="h4 fw-bold">VivesPOS Pro</h3>
|
||||
<p class="display-6 fw-bold mb-1" style="color:var(--vp-brand);">$3,500</p>
|
||||
<p class="text-muted small">MXN + IVA · pago unico</p>
|
||||
<p class="text-muted small mb-3">Todo lo de Free + multi-usuario y sincronizacion.</p>
|
||||
<hr>
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Todo lo de Free</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Usuarios y roles (Admin/Sup/Cajero)</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Clientes con datos SAT</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Stock minimo + alertas</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Import CSV de productos</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Backups manuales</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Audit log</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Sincronizacion con la nube</li>
|
||||
</ul>
|
||||
<a href="https://wa.me/523317025248?text=Quiero%20VivesPOS%20Pro%20(%243%2C500%20MXN)" class="btn btn-brand-cta w-100" target="_blank" rel="noopener">Comprar Pro</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-lg-4">
|
||||
<div class="card border-0 shadow-sm h-100 rounded-4">
|
||||
<div class="card-body p-4">
|
||||
<h3 class="h4 fw-bold">Soporte Premium</h3>
|
||||
<p class="display-6 fw-bold mb-1" style="color:var(--vp-brand);">$1,200</p>
|
||||
<p class="text-muted small">MXN + IVA / mes</p>
|
||||
<p class="text-muted small mb-3">VivesPOS Pro + soporte humano y actualizaciones.</p>
|
||||
<hr>
|
||||
<ul class="list-unstyled mb-4">
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Todo lo de Pro</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Soporte humano por Ticket</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Respuesta max 6h habiles</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Actualizaciones de VivesPOS</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Capacitacion mensual (2h)</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Instalacion asistida</li>
|
||||
<li class="mb-2"><i class="bi-check2 text-success me-2"></i>Monitoreo de salud del sistema</li>
|
||||
</ul>
|
||||
<a href="https://wa.me/523317025248?text=Quiero%20el%20Soporte%20Premium%20de%20VivesPOS" class="btn btn-brand-cta w-100" target="_blank" rel="noopener">Empezar ahora</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
90
themes/vivespos/partials/home/screenshots.htm
Normal file
90
themes/vivespos/partials/home/screenshots.htm
Normal file
@@ -0,0 +1,90 @@
|
||||
description = "Galeria de screenshots — pantalla parrilla, caja, corte, admin"
|
||||
==
|
||||
<section id="screens" class="py-5 py-md-6 bg-light">
|
||||
<div class="container">
|
||||
<div class="text-center mb-5">
|
||||
<p class="eyebrow eyebrow-blue mb-2">Galeria</p>
|
||||
<h2 class="display-5 fw-bold mb-2">Mira VivesPOS en accion</h2>
|
||||
<p class="lead text-muted">Diseniado para velocidad. Cada pixel optimizado para el dia a dia del cajero.</p>
|
||||
</div>
|
||||
<div class="row g-4">
|
||||
<div class="col-md-6">
|
||||
<div class="vp-screenshot">
|
||||
<div class="bg-dark p-4" style="min-height:280px;">
|
||||
<div class="d-flex gap-2 mb-3">
|
||||
<span class="vp-key-badge">F1</span><span class="text-light small">Buscar producto</span>
|
||||
<span class="vp-key-badge ms-2">F5</span><span class="text-light small">Cobrar</span>
|
||||
</div>
|
||||
<div class="bg-white rounded p-3">
|
||||
<div class="d-flex justify-content-between border-bottom pb-2 mb-2">
|
||||
<span class="fw-bold small">Cliente: Mostrador</span>
|
||||
<span class="text-muted small">Vendedor: Admin</span>
|
||||
</div>
|
||||
<table class="table table-sm table-borderless">
|
||||
<thead><tr><th>Cant</th><th>Descripcion</th><th class="text-end">Precio</th><th class="text-end">Importe</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>2</td><td>Coca-Cola 600ml</td><td class="text-end">$18.00</td><td class="text-end">$36.00</td></tr>
|
||||
<tr><td>1</td><td>Sabritas Original</td><td class="text-end">$22.00</td><td class="text-end">$22.00</td></tr>
|
||||
<tr><td>3</td><td>Agua Ciel 1L</td><td class="text-end">$15.00</td><td class="text-end">$45.00</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="d-flex justify-content-between fw-bold pt-2 border-top">
|
||||
<span>TOTAL:</span><span style="color:var(--vp-brand); font-size:1.4rem;">$103.00 MXN</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-center text-muted small mt-2">Pantalla Parrilla — scan, cantidades, totales en tiempo real</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="vp-screenshot">
|
||||
<div class="bg-white p-4" style="min-height:280px;">
|
||||
<h4 class="fw-bold mb-3"><i class="bi-cash-coin text-brand me-2"></i>Cobro — Efectivo</h4>
|
||||
<div class="row g-3">
|
||||
<div class="col-6"><div class="bg-light rounded p-3 text-center"><p class="text-muted small mb-1">Total a pagar</p><p class="fw-bold fs-3 text-brand mb-0">$103.00</p></div></div>
|
||||
<div class="col-6"><div class="bg-light rounded p-3 text-center"><p class="text-muted small mb-1">Efectivo recibido</p><p class="fw-bold fs-3 mb-0">$200.00</p></div></div>
|
||||
<div class="col-12"><div class="bg-success bg-opacity-10 rounded p-3 text-center"><p class="text-success small mb-1">Cambio a entregar</p><p class="fw-bold fs-2 text-success mb-0">$97.00</p></div></div>
|
||||
<div class="col-12"><button class="btn btn-brand-cta w-100 py-2" disabled>Enter — Confirmar pago</button></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-center text-muted small mt-2">Cobro — efectivo, tarjeta o mixto, cambio automatico</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="vp-screenshot">
|
||||
<div class="bg-white p-4" style="min-height:280px;">
|
||||
<h4 class="fw-bold mb-3"><i class="bi-clipboard-data text-brand me-2"></i>Corte Z — Resumen del dia</h4>
|
||||
<div class="row g-2">
|
||||
<div class="col-6"><div class="border rounded p-2"><p class="text-muted small mb-0">Ventas totales</p><p class="fw-bold fs-5 mb-0">$4,287.00</p></div></div>
|
||||
<div class="col-6"><div class="border rounded p-2"><p class="text-muted small mb-0">Tickets emitidos</p><p class="fw-bold fs-5 mb-0">47</p></div></div>
|
||||
<div class="col-6"><div class="border rounded p-2"><p class="text-muted small mb-0">Efectivo en caja</p><p class="fw-bold fs-5 mb-0">$3,150.00</p></div></div>
|
||||
<div class="col-6"><div class="border rounded p-2"><p class="text-muted small mb-0">Pagos con tarjeta</p><p class="fw-bold fs-5 mb-0">$1,137.00</p></div></div>
|
||||
<div class="col-12"><div class="border rounded p-2"><p class="text-muted small mb-0">Producto top: Coca-Cola 600ml (18 unidades)</p></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-center text-muted small mt-2">Corte Z — reporte completo de ventas del dia</p>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="vp-screenshot">
|
||||
<div class="bg-white p-4" style="min-height:280px;">
|
||||
<h4 class="fw-bold mb-3"><i class="bi-box-seam text-brand me-2"></i>Admin de Productos</h4>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-sm table-hover">
|
||||
<thead><tr><th>Nombre</th><th>Barcode</th><th class="text-end">Precio</th><th class="text-end">Stock</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td>Coca-Cola 600ml</td><td>75010304136</td><td class="text-end">$18.00</td><td class="text-end">48</td></tr>
|
||||
<tr><td>Sabritas Original</td><td>75010000344</td><td class="text-end">$22.00</td><td class="text-end">12</td></tr>
|
||||
<tr><td>Agua Ciel 1L</td><td>75010554460</td><td class="text-end">$15.00</td><td class="text-end text-danger">3 ⚠</td></tr>
|
||||
<tr><td>Maruchan Pollo</td><td>75010553312</td><td class="text-end">$25.00</td><td class="text-end">30</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="text-muted small mb-0"><i class="bi-exclamation-triangle text-warning"></i> Alerta de stock minimo en Agua Ciel 1L</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-center text-muted small mt-2">Admin — productos, barcodes, stock con alertas automaticas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user