@extends('system.public.public_layout') @section('body-class', 'equipos-page') @push('styles') @endpush @section('content') @php $wa = $equipos['whatsapp']; $products = collect($equipos['products']); $priceBySku = $products->pluck('price', 'sku'); $waUrl = fn ($text) => 'https://wa.me/' . $wa . '?text=' . rawurlencode($text); $waHero = $waUrl('Hola, quiero información sobre los equipos POS para mi farmacia (impresoras, lectores, terminales). ¿Me ayudan a elegir?'); // Ruta de imagen desde el SKU (public/images/equipos/.webp); null si no existe. $imgOf = function ($sku) { $slug = strtolower(str_replace('/', '-', (string) $sku)); $rel = 'images/equipos/' . $slug . '.webp'; return file_exists(public_path($rel)) ? $rel : null; }; // Imagen representativa por kit (por índice, fallback seguro). $kitImgs = ['images/equipos/wp200.webp', 'images/equipos/tpv-a200s.webp', 'images/equipos/nh05.webp']; // SVGs (sin emojis, viewBox 20x20 coherente) $check = ''; $star = ''; $heroImg = $imgOf('TPV-A200S'); @endphp {{-- ===================== HERO ===================== --}}
Equipos para farmacias y boticas

Equipos POS para tu farmacia, listos para vender

Impresoras térmicas, lectores de código, terminales POS, gavetas y codificadoras de lotes. Todo probado con el sistema Sysfarma y con precios que ya incluyen IGV.

Cotizar por WhatsApp
{!! $check !!} Garantía 12 meses {!! $check !!} Soporte inmediato {!! $check !!} Precios incluyen IGV {!! $check !!} Integrado con Sysfarma
@if($heroImg) @endif
{{-- ===================== KITS ===================== --}}

Kits recomendados

Combos armados para arrancar sin pensar en compatibilidades. Te ahorran tiempo y salen a mejor precio que comprar por separado.

@foreach($equipos['kits'] as $ki => $kit) @php $waKit = $waUrl('Hola, me interesa el ' . $kit['name'] . '. ¿Precio y qué incluye?'); $kitImg = $kitImgs[$ki] ?? null; $kitSum = collect($kit['components'] ?? [])->sum(fn ($sku) => (int) ($priceBySku[$sku] ?? 0)) + (int) ($kit['extra_value'] ?? 0); $kitSave = $kitSum - (int) $kit['price']; $kitDetail = '/equipos-para-farmacia/kit/' . ($kit['key'] ?? ''); @endphp
{{ $kit['badge'] }} @if($kitImg && file_exists(public_path($kitImg))) {{ $kit['name'] }} @endif

{{ $kit['name'] }}

@if($kitSave >= 20) {!! $check !!} Ahorra S/ {{ number_format($kitSave, 0) }} vs comprar por separado @endif

{{ $kit['pitch'] }}

    @foreach($kit['includes'] as $inc)
  • {!! $check !!} {{ $inc }}
  • @endforeach
Desde S/ {{ number_format($kit['price'], 0) }} IGV incluido
@endforeach
{{-- ===================== FILTROS POR CATEGORÍA (sticky) ===================== --}}
{{-- ===================== BUSCADOR + ORDEN ===================== --}}
{{-- ===================== CATEGORÍAS + PRODUCTOS ===================== --}} @foreach($equipos['categories'] as $cat) @php $items = $products->where('category', $cat['key']) ->sortByDesc(fn ($p) => ! empty($p['featured'])) ->values(); @endphp @if($items->isNotEmpty())

{{ $cat['name'] }}

{{ $cat['intro'] }}

@foreach($items as $idx => $p) @php $available = ($p['status'] ?? '') === 'disponible'; $img = $imgOf($p['sku'] ?? ''); $chips = array_slice($p['specs'] ?? [], 0, 2); $detail = '/equipos-para-farmacia/' . strtolower(str_replace('/', '-', $p['sku'] ?? '')); @endphp @endforeach
@endif @endforeach {{-- ===================== CTA FINAL ===================== --}}

¿No sabes qué necesitas? Escríbenos

Cuéntanos cómo trabaja tu botica y te armamos la configuración exacta: qué impresora, qué lector y qué terminal te conviene. Sin compromiso.

Hablar con un asesor
@push('scripts') @php // Schema.org ItemList de Productos (precio + disponibilidad) para rich results. $catNameBy = collect($equipos['categories'])->pluck('name', 'key'); $ldEls = []; foreach ($products as $ldPos => $lp) { $lsku = $lp['sku'] ?? ''; $lslug = strtolower(str_replace('/', '-', $lsku)); $lurl = url('/equipos-para-farmacia/' . $lslug); $limg = $imgOf($lsku); // Un Product válido para Google necesita image + offers. Si al ítem le falta // alguno (sin foto, o "bajo pedido" sin precio), el ListItem queda como // referencia simple en vez de emitir un Product incompleto que da error en GSC. if (! $limg || is_null($lp['price'] ?? null)) { $ldEls[] = [ '@type' => 'ListItem', 'position' => $ldPos + 1, 'name' => $lp['name'] ?? '', 'url' => $lurl, ]; continue; } $prod = array_filter([ '@type' => 'Product', 'name' => $lp['name'] ?? null, 'sku' => $lsku ?: null, 'description' => $lp['short'] ?? null, 'category' => $catNameBy[$lp['category']] ?? null, 'brand' => ['@type' => 'Brand', 'name' => 'Sysfarma'], 'image' => asset($limg), 'url' => $lurl, ], fn ($v) => ! is_null($v) && $v !== ''); $prod['offers'] = [ '@type' => 'Offer', 'price' => (string) (int) $lp['price'], 'priceCurrency' => 'PEN', 'availability' => (($lp['status'] ?? '') === 'disponible') ? 'https://schema.org/InStock' : 'https://schema.org/PreOrder', 'itemCondition' => 'https://schema.org/NewCondition', 'url' => $lurl, ]; $ldEls[] = ['@type' => 'ListItem', 'position' => $ldPos + 1, 'item' => $prod]; } $ldItemList = [ '@context' => 'https://schema.org', '@type' => 'ItemList', 'name' => 'Equipos POS para farmacias y boticas', 'numberOfItems' => count($ldEls), 'itemListElement' => $ldEls, ]; @endphp @endpush @endsection