Skip to main content

Qué es el Wizard

El wizard de onboarding es el flujo de 5 pasos que guía al dueño de un negocio desde cero hasta tener su página web publicada en minutos. No requiere conocimientos técnicos — todo se hace rellenando campos simples.

Cómo funciona

Los 3 productos disponibles

Al entrar, el dueño elige qué tipo de página necesita:
  • SYNTIstudio → Página completa para cualquier negocio (barbería, clínica, academia)
  • SYNTIfood → Menú digital para restaurantes con pedido por WhatsApp
  • SYNTIcat → Catálogo de productos con carrito y checkout

Los 5 pasos del wizard (SYNTIstudio)

1

Segmento del negocio

El sistema pregunta qué tipo de negocio es. Opciones: restaurante, tienda, salud & belleza, servicios profesionales, técnicos, educación, transporte.Por qué importa: El tema visual (paleta de colores) se asigna automáticamente según el segmento.
// OnboardingController.php:139
'theme_slug' => PrelineThemeService::getThemeForSegment($validated['business_segment'])
2

Plan y subdominio

El dueño elige el plan (Oportunidad, Crecimiento, Visión) y escribe el subdominio que quiere.Validación en vivo: Mientras escribe, el sistema verifica si el subdominio está disponible vía AJAX.
// OnboardingController.php:54-63
public function checkSubdomain(Request $request): JsonResponse
{
    $subdomain = Str::slug($request->string('subdomain')->toString(), '-');
    $taken = Tenant::where('subdomain', $subdomain)->exists();
    return response()->json(['available' => !$taken, 'subdomain' => $subdomain]);
}
3

Información del negocio

Datos básicos: nombre, slogan, descripción, ciudad, teléfono, WhatsApp, email.
4

Hero y propuestas de valor

Texto principal del hero + hasta 3 propuestas de valor (“Entrega a domicilio”, “Abiertos 24/7”, etc.).
5

Vista previa

El dueño ve cómo quedó su página. Puede publicar o volver atrás a editar.

Variantes para Food y Cat

SYNTIfood: Solo 3 pasos — negocio, plan/subdominio, primera categoría con ítems del menú. SYNTIcat: También 3 pasos — negocio, plan/subdominio, primer producto con nombre, precio y descripción.

Qué pasa al publicar

// OnboardingController.php:91-143
DB::transaction(function () use ($validated): Tenant {
    // 1. Crear tenant
    $tenant = Tenant::create([
        'subdomain' => Str::slug($validated['subdomain'], '-'),
        'business_name' => $validated['business_name'],
        'edit_pin' => bcrypt('1234'), // PIN por defecto
        'status' => 'active'
    ]);

    // 2. Crear customization con content_blocks
    TenantCustomization::create([
        'tenant_id' => $tenant->id,
        'content_blocks' => [...],
        'theme_slug' => PrelineThemeService::getThemeForSegment(...)
    ]);

    return $tenant;
});
El PIN por defecto es 1234. El dueño puede cambiarlo luego desde el dashboard (Config → Seguridad).

Modo Admin vs Modo Usuario

El wizard tiene dos modos (controlado por ONBOARDING_MODE en .env):
  • admin: Wizard accesible sin login — crea tenants directamente
  • user: Redirige a /register — requiere cuenta de usuario primero
En producción, SYNTIweb usa modo admin porque el wizard ES el flujo de registro principal.

URLs del wizard

  • /onboarding/selector → Página de selección de producto
  • /onboarding → Wizard para SYNTIstudio
  • /onboarding/food → Wizard para SYNTIfood
  • /onboarding/cat → Wizard para SYNTIcat

Build docs developers (and LLMs) love