PageSourceSearch

https://turnozo.com/assets/retail-DFGa4iLy.js

js turnozo.com collected 2026-09-28 10:35:46 UTC 32,902 bytes, 3 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0e6c3-5964-7612-8e8b-41d4c9c95f57")}catch(e){}}();import{j as e,d as j,H as E,B as c,e as F,A as m,S as o,K as l,f as r,L as d,C as x,M as p,w as u,W as h,N as w,h as k,E as C,r as b,aL as A,D as B}from"./index-DKp-dPqd.js";import{F as S}from"./faq-accordion-DVCUNQT8.js";import{H as z,F as q,X as T}from"./header-VH8attz7.js";import"./localized-link-C0fUAZzo.js";const g=F({source:"marketing_retail_page_cta",intent:"signup_marketing_retail_page_cta"});function _({locale:a}){const t=a==="es";return e.jsxs("main",{children:[e.jsx("span",{className:"hidden size-6","aria-hidden":"true"}),e.jsx(z,{}),e.jsx(D,{es:t}),e.jsx(W,{es:t}),e.jsx(M,{es:t}),e.jsx(Y,{es:t}),e.jsx(J,{es:t}),e.jsx(U,{es:t}),e.jsx(G,{es:t}),e.jsx(V,{es:t}),e.jsx(K,{es:t}),e.jsx(Q,{es:t}),e.jsx(q,{})]})}function D({es:a}){const t=j();return e.jsxs("section",{className:"relative overflow-hidden bg-white",children:[e.jsx("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 -top-24 -z-10 h-96 bg-gradient-to-b from-[#FAFAF7] to-transparent"}),e.jsx("div",{className:"mx-auto max-w-6xl px-4 pt-24 md:pt-28",children:e.jsxs("div",{className:"mx-auto max-w-3xl text-center",children:[e.jsx("div",{className:"flex justify-center",children:e.jsx(E,{children:a?"Cuadrantes para comercio":"Scheduling for retail"})}),e.jsxs("h1",{className:"font-cal-sans mt-5 text-[40px] leading-[1.05] font-bold tracking-[-0.03em] text-balance sm:text-5xl lg:text-[62px] lg:leading-[1.0]",children:[a?"Cuadra tienda, caja y almacén":"Schedule floor, till and stock",e.jsx("br",{}),e.jsx("span",{className:"text-[#9C9CA3]",children:a?"sin Excel ni WhatsApp":"without spreadsheets or chats"})]}),e.jsx("p",{className:"mx-auto mt-5 max-w-2xl text-lg leading-relaxed text-pretty text-[#55555C]",children:a?"Parciales, refuerzos de sábado y bajas de última hora, en una sola pantalla. Tu equipo ve su turno y ficha desde el móvil, y tú cierras el mes para la gestoría en un clic.":"Part-timers, Saturday cover and last-minute call-outs, on one screen. Your team sees their shifts and clocks in from their phone, and you close the month for payroll in one click."}),e.jsxs("div",{className:"mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row",children:[e.jsx(c,{size:"lg",asChild:!0,children:e.jsxs("a",{href:g,onClick:()=>t.capture("cta_clicked",{cta:"start_free",location:"retail_hero"}),children:[a?"Crear mi cuadrante":"Create my schedule",e.jsx(m,{className:"ml-2 size-4"})]})}),e.jsx(c,{size:"lg",variant:"outline",asChild:!0,children:e.jsx("a",{href:a?"/es/contacto":"/contact",onClick:()=>t.capture("white_glove_clicked",{location:"retail_hero"}),children:a?"Te lo montamos":"We set it up for you"})})]}),e.jsx("p",{className:"mt-5 text-[13.5px] text-[#9C9CA3]",children:a?"14 días de Pro completo · Sin tarjeta · Sin permanencia":"14 days of full Pro · No card · No lock-in"})]})}),e.jsxs("div",{className:"relative mt-12 md:mt-14",children:[e.jsx("div",{"aria-hidden":"true",className:"absolute inset-x-0 top-0 bottom-0 bg-[#F5F4F0]"}),e.jsx("div",{className:"relative mx-auto max-w-5xl px-4 py-10 md:py-14",children:e.jsx("div",{className:"shadow-[0_2px_4px_rgba(24,24,27,0.05),0_32px_64px_-32px_rgba(24,24,27,0.25)]",children:e.jsx(O,{es:a})})})]})]})}const y={tienda:{band:"bg-[#EFF4FE]",text:"text-[#2563EB]",dot:"bg-[#2563EB]",chipBg:"bg-[#F3F7FE]",chipBorder:"border-l-[#2563EB]"},almacen:{band:"bg-[#FEF6E4]",text:"text-[#B45309]",dot:"bg-[#B45309]",chipBg:"bg-[#FEFAF0]",chipBorder:"border-l-[#B45309]"},responsable:{band:"bg-[#F3EFFE]",text:"text-[#7C3AED]",dot:"bg-[#7C3AED]",chipBg:"bg-[#F8F5FE]",chipBorder:"border-l-[#7C3AED]"}},P={Caja:{style:"bg-[#DBEAFE] text-[#2563EB]",es:"Caja",en:"Till"},Planta:{style:"bg-[#DBEAFE] text-[#2563EB]",es:"Planta",en:"Floor"},Escaparate:{style:"bg-[#EDE9FE] text-[#7C3AED]",es:"Escaparate",en:"Window"},Almacen:{style:"bg-[#FEF3C7] text-[#B45309]",es:"Almacén",en:"Stock"},Reposicion:{style:"bg-[#FEF3C7] text-[#B45309]",es:"Reposición",en:"Restock"}},R=[{group:"tienda",label:{es:"Tienda",en:"Floor"},count:2,rows:[{name:"Laura M.",hours:"30 h",days:[{partido:["10–14","17–21"]}
1,null,{time:"16–21",zone:"Caja"},{time:"10–15",zone:"Planta"},null]},{name:"Sara V.",hours:"25 h",days:[null,{time:"16–21",clockIn:"15:57"},{time:"16–21",zone:"Caja"},{time:"10–15",zone:"Escaparate"},{time:"12–20",zone:"Planta"}]}]},{group:"almacen",label:{es:"Almacén",en:"Stockroom"},count:1,rows:[{name:"Iván C.",hours:"38 h",days:[{time:"07–15",zone:"Almacen"},{time:"07–15",zone:"Reposicion"},{time:"07–15",zone:"Almacen"},{time:"08–14",zone:"Reposicion"},null]}]},{group:"responsable",label:{es:"Responsable",en:"Manager"},count:1,rows:[{name:"Marta L.",hours:"40 h",days:[{time:"10–18"},{time:"10–18",clockIn:"09:58"},{time:"12–20"},{time:"10–18"},null]}]}],$=["mié 15","jue 16","vie 17","sáb 18","dom 19"],L=["Wed 15","Thu 16","Fri 17","Sat 18","Sun 19"],H=1;function O({es:a}){const t=a?$:L;return e.jsx("div",{"aria-label":a?"Ejemplo de cuadrante semanal en Turnozo para una tienda: tienda, almacén y responsable con turno partido, zonas y fichajes reales":"Example weekly retail rota in Turnozo: floor, stockroom and manager with a split shift, zones and real clock-ins",className:"overflow-x-auto",children:e.jsxs("div",{className:`mx-auto min-w-[680px] overflow-hidden ${x} select-none`,children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-[#F0EFEB] px-4 py-3.5 md:px-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("p",{className:"font-cal-sans text-base font-bold tracking-tight text-[#18181B]",children:"Moda Aurora"}),e.jsx("span",{className:"rounded-[9px] border border-[#E9E8E4] px-2 py-1 font-mono text-xs text-[#55555C] tabular-nums",children:a?"15–19 jul":"15–19 Jul"})]}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-[#EAF7EF] px-2.5 py-1 text-xs font-medium text-[#15803D]",children:[e.jsx("span",{"aria-hidden":"true",className:"inline-block size-1.5 rounded-full bg-[#16A34A]"}),a?"Publicado":"Published"]})]}),e.jsx("div",{className:"px-4 py-4 md:px-6",children:e.jsxs("div",{className:"grid grid-cols-[112px_repeat(5,minmax(0,1fr))] gap-1.5",children:[e.jsx("div",{}),t.map((n,s)=>e.jsx("p",{className:`py-1.5 text-center font-mono text-[11.5px] tabular-nums ${s===H?"rounded-lg bg-[#F5F4F0] font-semibold text-[#18181B]":"text-[#9C9CA3]"}`,children:n},n)),R.map(n=>{const s=y[n.group];return e.jsxs(b.Fragment,{children:[e.jsxs("div",{className:`col-span-full flex items-center gap-2 rounded-lg ${s.band} px-3 py-[7px]`,children:[e.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-[2px] ${s.dot}`}),e.jsx("span",{className:`font-cal-sans text-[12.5px] font-bold ${s.text}`,children:a?n.label.es:n.label.en}),e.jsx("span",{className:`font-mono text-xs ${s.text}`,children:n.count})]}),n.rows.map(i=>e.jsxs(b.Fragment,{children:[e.jsxs("div",{className:"py-1.5 pr-2",children:[e.jsx("p",{className:"text-[13px] font-semibold text-[#18181B]",children:i.name}),e.jsx("p",{className:"mt-0.5 font-mono text-[11px] text-[#9C9CA3] tabular-nums",children:i.hours})]}),i.days.map((f,v)=>e.jsx("div",{className:"py-1",children:f?e.jsx(I,{cell:f,group:n.group,es:a}):e.jsx("div",{className:"grid min-h-[48px] place-items-center rounded-lg border border-dashed border-[#E9E8E4]",children:e.jsx("span",{className:"font-mono text-xs text-[#9C9CA3]",children:"—"})})},v))]},i.name))]},n.group)})]})}),e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 border-t border-[#F0EFEB] bg-[#FAFAF7] px-4 py-3 md:px-6",children:[e.jsxs("p",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-[#55555C]",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{"aria-hidden":"true",className:"inline-block h-3 w-2 rounded-[3px] border-l-[3px] border-l-[#2563EB] bg-[#F3F7FE]"}),a?"Turno por puesto":"Shift by role"]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"rounded-full bg-[#F5F4F0] px-1.5 py-0.5 font-mono text-[10px] font-semibold text-[#55555C]",children:a?"partido":"split"}),a?"Mañana y tarde":"Morning and evening"]}),e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"rounded-full bg-[#EAF7EF] px-1.5 py-0.5 font-mono text-[10px] font-semibold text-[#15803D] tabular-nums",children:"✓ 09:58"}),a?"Fichaje real":"Real clock-in"]})]}),e.jsx("p",{className:"font-mono text-xs text-[#9C9CA3] tabular-nums",children:a?"15 turnos · 2 fic
1hajes hoy":"15 shifts · 2 clock-ins today"})]})]})})}function I({cell:a,group:t,es:n}){const s=y[t];if("partido"in a)return e.jsxs("div",{className:`min-h-[48px] rounded-lg border-l-[3px] ${s.chipBorder} ${s.chipBg} px-2 py-1.5`,children:[e.jsxs("p",{className:"flex items-center justify-between gap-1",children:[e.jsx("span",{className:"font-mono text-[11px] font-semibold whitespace-nowrap text-[#18181B] tabular-nums",children:a.partido[0]}),e.jsx("span",{className:"rounded-full bg-white/70 px-1.5 font-mono text-[9px] font-semibold text-[#55555C]",children:n?"partido":"split"})]}),e.jsx("p",{className:"mt-0.5 font-mono text-[11px] font-semibold text-[#18181B] tabular-nums",children:a.partido[1]})]});const i=a.zone?P[a.zone]:null;return e.jsxs("div",{className:`min-h-[48px] rounded-lg border-l-[3px] ${s.chipBorder} ${s.chipBg} px-2 py-1.5`,children:[e.jsx("p",{className:"font-mono text-xs font-semibold whitespace-nowrap text-[#18181B] tabular-nums",children:a.time}),e.jsx("p",{className:"mt-1",children:a.clockIn?e.jsxs("span",{className:"inline-block rounded-full bg-[#EAF7EF] px-1.5 py-0.5 font-mono text-[10px] font-semibold text-[#15803D] tabular-nums",children:["✓ ",a.clockIn]}):i?e.jsx("span",{className:`inline-block rounded-full px-1.5 py-0.5 text-[10px] font-semibold ${i.style}`,children:n?i.es:i.en}):null})]})}function W({es:a}){const t=a?["El sábado se llena de cambios de última hora y acabas cubriéndolo tú","Los parciales cambian de disponibilidad y te enteras tarde","Cuadras a ojo y las horas extra se comen el margen","Las horas acaban en un Excel que rehaces cada mes"]:["Saturday fills with last-minute changes and you end up covering it","Part-timers change availability and you find out too late","You eyeball the rota and overtime eats the margin","Hours end up in a spreadsheet you rebuild every month"],n=a?["Abres el turno libre y lo coge el primero que puede, sin llamadas","Cada persona pone su disponibilidad en el móvil y la ves al cuadrar","El cuadrante suma las horas y te avisa antes de pasarte","El equipo ficha y el parte de horas se hace solo"]:["Open the shift and the first who can takes it, no calls","Everyone sets availability on their phone and you see it while scheduling","The rota totals the hours and warns you before you go over","The team clocks in and the timesheet builds itself"];return e.jsx("section",{className:`bg-white ${o}`,children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4",children:[e.jsx(l,{index:"01",children:a?"El cambio":"The shift"}),e.jsx("h2",{className:r,children:a?"Cubrir el sábado no debería costarte la semana":"Covering Saturday shouldn't cost you the week"}),e.jsx("p",{className:`mt-4 max-w-2xl ${d}`,children:a?"Los mismos líos cada semana. Turnozo los quita de en medio para que vuelvas a la tienda.":"The same tangles every week. Turnozo clears them out so you can get back to the floor."}),e.jsxs("div",{className:`mt-10 grid overflow-hidden md:grid-cols-2 ${x}`,children:[e.jsxs("div",{className:"border-b border-[#F0EFEB] bg-[#FAFAF7] p-7 md:border-r md:border-b-0 md:p-9",children:[e.jsx("p",{className:p,children:a?"A mano":"By hand"}),e.jsx("ul",{className:"mt-6 space-y-4",children:t.map(s=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"mt-0.5 inline-flex size-[22px] shrink-0 items-center justify-center rounded-full bg-[#F5F4F0]",children:e.jsx(T,{className:"size-3.5 text-[#9C9CA3]",strokeWidth:2.5,"aria-hidden":"true"})}),e.jsx("span",{className:"text-[15px] leading-relaxed text-pretty text-[#55555C]",children:s})]},s))})]}),e.jsxs("div",{className:"bg-white p-7 md:p-9",children:[e.jsx("p",{className:"font-mono text-[11.5px] tracking-[0.1em] text-[#15803D] uppercase",children:a?"Con Turnozo":"With Turnozo"}),e.jsx("ul",{className:"mt-6 space-y-4",children:n.map(s=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(u,{}),e.jsx("span",{className:"text-[15px] leading-relaxed text-pretty text-[#18181B]",children:s})]},s))})]})]})]})})}function M({es:a}){const t=a?[{t:"10:12",text:"Laura no puede entrar. Baja en Caja, sábado por la mañana.",kind:"alert"},{t:"10:12",text:"Turno 10–15 abierto. Aviso a 3 personas disponibles.",kind:"open"},{t:"10:14",text:"Iván puede cubrirlo.",kind:"reply"},{t:"10:15",text:"Sara coge el turno.",kind:"done"},{t:"10:15",text:"Cuadrante actualizado. Equipo avisado.",kind:"sync"}]:[{t:"10:12",text:"Laura can't make it. Call-out on the till, Saturday morning.",kind:"alert"},{t:"10:12",text:"Shift 10–15 opened. Sent to 3 available people.",kind:"open"},{t:"10:14",text:"Iván can cover it.",kind:"reply"},{t:"10:15",text:"Sara takes the shift.",kind:"done"},{t:"10:15",text:"Rota updated. Team notified.",kind:"sync"}],n=a?["Abres el turno con un toque","Solo lo ven quienes pueden ese día","El primero que confirma lo cubre"]:["Open the shift with one tap","Only people free that day see it","The first to confirm covers it"];return e.jsx("section",{className:`relative overflow-hidden bg-white ${o}`,children:e.jsx("div",{className:"mx-auto max-w-6xl px-4",children:e.jsxs("div",{className:"grid items-center gap-12 lg:grid-cols-2 lg:gap-16",children:[e.jsxs("div",{children:[e.jsx(l,{index:"02",children:a?"El sábado":"Saturday"}),e.jsx("h2",{className:r,children:a?"Una baja un sábado no te deja la tienda a medias":"A Saturday call-out shouldn't leave the shop short"}),e.jsx("p",{className:`mt-4 ${d}`,children:a?"En vez de bajar por la lista llamando de uno en uno, abres el turno y quien esté libre lo coge desde el móvil. La caja no espera.":"Instead of phoning down the list, you open the shift and whoever's free takes it from their phone. The till never waits."}),e.jsx("ul",{className:"mt-6 space-y-3",children:n.map(s=>e.jsxs("li",{className:"flex items-center gap-3",children:[e.jsx(u,{}),e.jsx("span",{className:"text-[15px] text-[#55555C]",children:s})]},s))}),e.jsx("p",{className:"mt-7",children:e.jsxs("a",{href:a?"/es/disponibilidad":"/availability",className:"focus-visible:ring-ring/40 rounded-sm text-sm font-medium text-[#18181B] underline decoration-[#E9E8E4] underline-offset-4 transition-colors hover:decoration-[#18181B] focus-visible:ring-2 focus-visible:outline-none",children:[a?"Ver disponibilidad y turnos abiertos":"See availability and open shifts"," →"]})})]}),e.jsxs("div",{className:"relative py-10 lg:py-12",children:[e.jsx("div",{"aria-hidden":"true",className:"absolute inset-y-0 left-1/2 w-screen -translate-x-1/2 bg-[#F5F4F0] lg:left-[-2rem] lg:w-[52vw] lg:translate-x-0"}),e.jsxs("div",{className:`relative overflow-hidden ${x} shadow-[0_1px_2px_rgba(24,24,27,0.04),0_20px_48px_-24px_rgba(24,24,27,0.18)] select-none`,children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[#F0EFEB] px-5 py-3.5",children:[e.jsx("p",{className:p,children:a?"Sábado · turno abierto":"Saturday · open shift"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-[#EAF7EF] px-2.5 py-1 text-xs font-medium text-[#15803D]",children:[e.jsx("span",{"aria-hidden":"true",className:"inline-block size-1.5 rounded-full bg-[#16A34A]"}),a?"En directo":"Live"]})]}),e.jsx("ul",{className:"divide-y divide-[#F0EFEB]",children:t.map((s,i)=>e.jsxs("li",{className:"flex items-start gap-3 px-5 py-3.5",children:[e.jsx("span",{className:"mt-px w-11 shrink-0 font-mono text-[11px] text-[#9C9CA3] tabular-nums",children:s.t}),s.kind==="done"?e.jsx(u,{className:"mt-px size-[18px] [&>svg]:size-3"}):s.kind==="reply"?e.jsx("span",{className:"mt-px flex size-[18px] shrink-0 items-center justify-center rounded-full bg-[#FEF6E4] text-[8px] font-semibold text-[#B45309]",children:"IC"}):e.jsx("span",{"aria-hidden":"true",className:`mt-[7px] inline-block size-1.5 shrink-0 rounded-full ${s.kind==="alert"?"bg-[#B45309]":"bg-[#D4D4D0]"}`}),e.jsx("span",{className:`text-[13.5px] leading-relaxed text-pretty ${s.kind==="done"?"font-medium text-[#18181B]":"text-[#55555C]"}`,children:s.text}),s.kind==="alert"?e.jsx("span",{className:"ml-auto shrink-0 rounded-md bg-[#FEF6E4] px-2 py-0.5 font-mono text-[10px] font-medium text-[#B45309]",children:a?"Baja":"Call-out"}):s.kind==="open"?e.jsxs("span",{className:"ml-auto shrink-0 rounded-md border-l-2 border-l-[#2563EB] bg-[#F3F7FE] px-2 py-0.5 font-mono text-[10px] font-semibold text-[#18181B]",children:["10–15"," ",e.jsx("span",{className:"font-medium text-[#2563EB]",children:a?"Caja":"Till"})]}):s.kind==="done"?e.jsx("span",{className:"ml-auto flex size-[18px] shrink-0 items-center justify-center rounded-full bg-[#EFF4FE] text-[8px] font-semibold text-[#2563EB]",children:"SV"}):null]},i))}),e.jsxs("div",{className:"flex items-center justify-between border-t border-[#F0EFEB] bg-[#FAFAF7] px-5 py-3",children:[e.jsx("span",{className:"text-xs text-[#55555C]",children:a?"Cubierto en 3 minutos":"Covered in 3 minutes"}),e.jsx("span",{className:"font-mono text-xs text-[#9C9CA3]",children:a?"sin una llamada":"no calls made"})]})]})]})]})})})}function Y({es:a}){return e.jsx("section",{className:`${h} ${o}`,children:e.jsxs("div",{className:"mx-auto max-w-4xl px-4 text-center",children:[e.jsx("p",{className:p,children:a?"Todo conectado":"All connected"}),e.jsx("p",{"aria-hidden":"true",className:"font-cal-sans mt-6 text-[72px] leading-[0.5] font-bold text-[#D9D8D3] select-none md:text-[96px]",children:"“"}),e.jsx("p",{className:"font-cal-sans mt-7 text-[28px] leading-[1.15] font-bold tracking-[-0.02em] text-balance text-[#18181B] md:mt-8 md:text-[38px]",children:a?"El cuadrante, el fichaje y el parte para tu gestoría. Conectados, sin la carga de una suite de RRHH.":"The rota, the clock-in and the timesheet for payroll. Connected, without the weight of an HR suite."})]})})}function J({es:a}){const t=a?[{title:"Monta la semana",body:"Arrastra los turnos al cuadrante y duplica la semana que ya te funciona. Tienda, caja y almacén en la misma pantalla."},{title:"Publica y el equipo ficha",body:"Un toque avisa a todo el equipo. Cada persona ficha entrada y salida desde el móvil, con fichaje por GPS si el turno lo pide."},{title:"Cierra el mes",body:"Las horas reales se vinculan al turno y exportas el parte de horas para tu gestoría en un clic."}]:[{title:"Build the week",body:"Drag shifts onto the rota and duplicate the week that already works. Floor, till and stockroom on one screen."},{title:"Publish and the team clocks in",body:"One tap notifies everyone. Each person clocks in and out from their phone, with GPS clock-in when the shift calls for it."},{title:"Close the month",body:"Real hours link back to the shift and you export the timesheet for payroll in one click."}];return e.jsx("section",{className:`bg-white ${o}`,children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4",children:[e.jsx(l,{index:"03",children:a?"Cómo funciona":"How it works"}),e.jsx("h2",{className:r,children:a?"Del caos a la claridad en tres pasos":"From chaos to clarity in three steps"}),e.jsx("p",{className:`mt-4 max-w-2xl ${d}`,children:a?"Lo montas la primera vez y las semanas siguientes son duplicar y ajustar.":"You set it up once, then the next weeks are duplicate and tweak."}),e.jsx("div",{className:"mt-12",children:e.jsx(w,{items:t.map((n,s)=>({...n,visual:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"rounded-md border-l-2 border-l-[#2563EB] bg-[#F3F7FE] px-2 py-1 font-mono text-[10px] font-semibold text-[#18181B]",children:"10–14"}),e.jsx("span",{className:"rounded-md border-l-2 border-l-[#B45309] bg-[#FEFAF0] px-2 py-1 font-mono text-[10px] font-semibold text-[#18181B]",children:"07–15"}),e.jsx("span",{className:"rounded-md border-l-2 border-l-[#7C3AED] bg-[#F8F5FE] px-2 py-1 font-mono text-[10px] font-semibold text-[#18181B]",children:"12–20"})]},"build"),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-[#EAF7EF] px-2.5 py-1 text-[11px] font-medium text-[#15803D]",children:[e.jsx("span",{className:"size-1.5 rounded-full bg-[#16A34A]"}),a?"Publicado":"Published"]}),e.jsx("span",{className:"rounded-md bg-[#EAF7EF] px-2 py-1 font-mono text-[10px] font-medium text-[#15803D]",children:"✓ 09:58"})]},"publish"),e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-[#
1E9E8E4] bg-[#FAFAF7] px-2.5 py-1.5",children:[e.jsx("span",{className:"font-mono text-[10px] tracking-[0.06em] text-[#55555C] uppercase",children:a?"Julio · 388 h":"July · 388 h"}),e.jsx("span",{className:"font-mono text-[10px] font-medium text-[#15803D]",children:"+5,5 h"})]},"close")][s]}))})})]})})}function U({es:a}){const t=a?["Registro de jornada · RD 8/2019","Convenio de comercio","Descansos entre jornadas","Jornada partida","Domingos y festivos","Conservación 4 años"]:["Time-record law · RD 8/2019","Retail agreement","Rest between shifts","Split shifts","Sundays and holidays","4-year retention"],n=[{name:"Laura Marín",planned:"128 h",extra:"+2 h"},{name:"Sara Vidal",planned:"104 h",extra:"0 h"},{name:"Iván Castro",planned:"158 h",extra:"+3,5 h"}];return e.jsx("section",{className:`${h} ${o}`,children:e.jsx("div",{className:"mx-auto max-w-6xl px-4",children:e.jsxs("div",{className:"grid items-center gap-12 lg:grid-cols-2 lg:gap-16",children:[e.jsx("div",{className:"order-2 lg:order-1",children:e.jsxs("div",{className:`overflow-hidden ${x} select-none`,children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[#F0EFEB] px-5 py-3.5",children:[e.jsx("p",{className:p,children:a?"Parte de horas · julio":"Timesheet · July"}),e.jsx("span",{className:"font-mono text-[11px] text-[#9C9CA3]",children:a?"1 centro":"1 location"})]}),e.jsx("div",{className:"divide-y divide-[#F0EFEB]",children:n.map(s=>e.jsxs("div",{className:"flex items-center justify-between px-5 py-3.5",children:[e.jsx("span",{className:"text-sm font-medium text-[#18181B]",children:s.name}),e.jsxs("span",{className:"flex items-center gap-4",children:[e.jsx("span",{className:"font-mono text-sm text-[#18181B] tabular-nums",children:s.planned}),e.jsx("span",{className:`w-14 text-right font-mono text-xs tabular-nums ${s.extra==="0 h"?"text-[#9C9CA3]":"text-[#15803D]"}`,children:s.extra})]})]},s.name))}),e.jsxs("div",{className:"flex items-center justify-between border-t border-[#F0EFEB] bg-[#FAFAF7] px-5 py-3",children:[e.jsx("span",{className:"text-xs text-[#55555C]",children:a?"Listo para tu gestoría":"Ready for payroll"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-[#E9E8E4] bg-white px-2.5 py-1 font-mono text-[11px] font-medium text-[#55555C]",children:[a?"Exportar":"Export",e.jsx(m,{className:"size-3","aria-hidden":"true"})]})]})]})}),e.jsxs("div",{className:"order-1 lg:order-2",children:[e.jsx(l,{index:"04",children:a?"Hecho para España":"Built for Spain"}),e.jsx("h2",{className:r,children:a?"El registro de jornada y el convenio, sin sustos":"Time records and your agreement, no surprises"}),e.jsx("p",{className:`mt-4 ${d}`,children:a?"Turnozo marca los avisos del convenio de comercio y te deja el registro de jornada listo para Inspección. Tú decides, con el mes cuadrado delante.":"Turnozo flags your retail agreement limits and leaves the time record ready for a labour inspection. You decide, with the month squared away in front of you."}),e.jsx("div",{className:"mt-6 flex flex-wrap gap-2",children:t.map(s=>e.jsx("span",{className:"inline-flex items-center rounded-full border border-[#E9E8E4] bg-white px-3 py-1.5 font-mono text-[11.5px] tracking-[0.02em] text-[#55555C]",children:s},s))}),e.jsx("p",{className:"mt-6 max-w-lg text-[13.5px] leading-relaxed text-pretty text-[#9C9CA3]",children:a?"Turnozo te avisa y prepara el registro. El cumplimiento final es tuyo, sin promesas de certificación legal.":"Turnozo flags and prepares the record. Final compliance is yours, with no legal-certification promises."})]})]})})})}function N(a){return a?[{q:"¿Puedo cuadrar tienda, caja y almacén en la misma pantalla?",a:"Sí. Personal de tienda, caja, reposición y responsables van en un mismo cuadrante, agrupados por puesto. Filtras por puesto cuando lo necesitas o ves la semana entera de un vistazo. Se acabaron los Excel separados."},{q:"¿Cómo llevo a los parciales con disponibilidad que cambia?",a:"Cada persona pone su disponibilidad y sus ausencias desde el móvil, y tú la ves al montar el cuadrante. Los parciales, los estudiantes y quien trabaja en otra tienda encajan sin perseguir mensajes."},{q:"¿Qué pasa con una baja un sábado por la mañana?",a:"Abres el turno y Turnozo avisa a quien esté disponible ese día. El primero que confirma lo cubre y el cuadrante se actualiza para todo el equipo. Sin bajar por la lista llamando de uno en uno."},{q:"¿Cuánto cuesta para una tienda pequeña?",a:"Esencial cuesta 9,99 € al mes hasta 10 empleados y un centro, con todas las funciones incluidas. Desde el empleado 11 o el segundo centro pasas a Pro, 2,99 € por empleado al mes. Empiezas con 14 días de Pro completo, sin tarjeta y sin permanencia."},{q:"¿El equipo puede ver el cuadrante desde el móvil?",a:"Sí. Turnozo tiene app para iOS y Android. El equipo consulta su turno, actualiza su disponibilidad, coge turnos abiertos y ficha entrada y salida desde el móvil."},{q:"¿Sirve para varias tiendas?",a:"Sí. Gestionas varios centros desde una cuenta y quien trabaja en más de uno pone su disponibilidad por centro. Las direcciones de trabajo no cuentan para el plan, solo los centros."},{q:"¿El registro de jornada vale para una inspección?",a:"Turnozo guarda las horas reales f
1ichadas, las vincula al turno y las conserva cuatro años, listas para exportar. Te deja el registro preparado para Inspección; el cumplimiento final es tuyo."}]:[{q:"Can I schedule floor, till and stockroom on the same screen?",a:"Yes. Floor, till, stock and managers all live in one rota, grouped by role. Filter by role when you need to, or see the whole week at a glance. No more separate spreadsheets."},{q:"How do I handle part-timers with changing availability?",a:"Everyone sets their availability and time off from their phone, and you see it while building the rota. Part-timers, students and anyone working at another store fit in without chasing messages."},{q:"What happens with a Saturday-morning call-out?",a:"You open the shift and Turnozo notifies whoever's available that day. The first to confirm covers it and the rota updates for the whole team. No phoning down the list."},{q:"How much does it cost for a small shop?",a:"Essential is €9.99 a month for up to 10 employees and one location, with every feature included. From employee 11 or your second location you move to Pro, €2.99 per employee per month. You start with 14 days of full Pro, no card and no lock-in."},{q:"Can the team see the rota from their phone?",a:"Yes. Turnozo has iOS and Android apps. The team checks their shift, updates availability, takes open shifts and clocks in and out from their phone."},{q:"Does it work for multiple stores?",a:"Yes. Manage several locations from one account, and anyone working across more than one sets availability per location. Work addresses never count toward your plan, only locations do."},{q:"Is the time record valid for a labour inspection?",a:"Turnozo keeps the real clocked hours, links them to the shift and retains them for four years, ready to export. It leaves the record prepared for an inspection; final compliance is yours."}]}function G({es:a}){const t=N(a);return e.jsx("section",{className:`bg-white ${o}`,children:e.jsx("div",{className:"mx-auto max-w-6xl px-4",children:e.jsxs("div",{className:"grid gap-12 lg:grid-cols-[380px_1fr] lg:gap-[72px]",children:[e.jsxs("div",{children:[e.jsx(l,{index:"05",children:a?"Dudas":"Questions"}),e.jsx("h2",{className:r,children:a?"Preguntas frecuentes":"Frequently asked questions"}),e.jsx("p",{className:`mt-4 ${d}`,children:a?"Lo que suele preguntar quien lleva una tienda antes de empezar.":"What people running a shop usually ask before starting."})]}),e.jsx("div",{className:"border-t border-[#E9E8E4]",children:e.jsx(S,{items:t})})]})})})}function Q({es:a}){const t={"@context":"https://schema.org","@type":"FAQPage",mainEntity:N(a).map(n=>
1({"@type":"Question",name:n.q,acceptedAnswer:{"@type":"Answer",text:n.a}}))};return e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(t)}})}function V({es:a}){const t=a?[{label:"Cuadrantes",href:"/es/cuadrantes"},{label:"Control horario",href:"/es/control-horario"},{label:"Disponibilidad",href:"/es/disponibilidad"},{label:"Precios",href:"/es/precios"}]:[{label:"Scheduling",href:"/scheduling"},{label:"Time tracking",href:"/time-tracking"},{label:"Availability",href:"/availability"},{label:"Pricing",href:"/pricing"}];return e.jsx("section",{className:`${h} ${o}`,children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4",children:[e.jsx(l,{index:"06",children:a?"Sigue explorando":"Keep exploring"}),e.jsx("h2",{className:r,children:a?"Todo lo que va dentro":"Everything that comes with it"}),e.jsx("p",{className:`mt-4 max-w-2xl ${d}`,children:a?"El cuadrante es el principio. El fichaje, el control horario y la disponibilidad vienen en el mismo sitio.":"The rota is just the start. Clock-in, time tracking and availability all come in the same place."}),e.jsx("ol",{className:"mt-10 grid grid-cols-1 gap-px overflow-hidden rounded-[14px] border border-[#E9E8E4] bg-[#E9E8E4] sm:grid-cols-2 lg:grid-cols-4",children:t.map((n,s)=>e.jsx("li",{children:e.jsxs("a",{href:n.href,className:"focus-visible:ring-ring/40 flex h-full items-center justify-between bg-white px-5 py-6 transition-colors hover:bg-[#FAFAF7] focus-visible:ring-2 focus-visible:outline-none",children:[e.jsxs("span",{children:[e.jsx("span",{className:"font-mono text-xs text-[#9C9CA3] tabular-nums",children:String(s+1).padStart(2,"0")}),e.jsx("span",{className:"font-cal-sans mt-2 block text-base font-bold tracking-tight text-[#18181B]",children:n.label})]}),e.jsx(m,{className:"size-4 shrink-0 text-[#9C9CA3]","aria-hidden":"true"})]})},n.href))})]})})}function K({es:a}){const t=j();return e.jsx("section",{className:`bg-white ${o}`,children:e.jsx("div",{className:"mx-auto max-w-6xl px-4",children:e.jsxs(k,{children:[e.jsx(C,{children:a?"14 días de Pro completo":"14 days of full Pro"}),e.jsx("h2",{className:"font-cal-sans mx-auto mt-5 max-w-2xl text-4xl leading-[1.06] font-bold tracking-[-0.025em] text-balance md:text-[46px]",children:a?"Monta el cuadrante de tu tienda hoy":"Build your store's rota today"}),e.jsx("p",{className:"mx-auto mt-4 max-w-xl text-pretty text-white/62",children:a?"Crea tu tienda, monta la semana y deja que el equipo fiche. Decide con tu primer cierre de mes delante.":"Set up your store, build the week and let the team clock in. Decide with your first month-end close in front of you."}),e.jsxs("div",{className:"mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row",children:[e.jsx(c,{size:"lg",className:"bg-white text-[#18181B] hover:bg-[#F0EFEB]",asChild:!0,children:e.jsxs("a",{href:g,onClick:()=>t.capture("cta_clicked",{cta:"start_free",location:"retail_finale"}),children:[a?"Crear mi cuadrante":"Create my schedule",e.jsx(m,{className:"ml-2 size-4"})]})}),e.jsx(c,{size:"lg",variant:"outline",className:"border-white/22 bg-transparent text-white hover:border-white/45 hover:bg-transparent hover:text-white",asChild:!0,children:e.jsx("a",{href:a?"/es/contacto":"/contact",onClick:()=>t.capture("white_glove_clicked",{location:"retail_finale"}),children:a?"Te lo montamos":"We set it up for you"})})]}),e.jsx("p",{className:"mt-7 text-sm text-pretty text-white/42",children:a?"Sin tarjeta. Sin permanencia. Cancelas cuando quieras.":"No card. No lock-in. Cancel anytime."})]})})})}const se=function(){const{locale:t}=A.useLoaderData();return e.jsx(_,{locale:t??B})},te=({context:a})=>({locale:a.locale});export{se as component,te as loader};
2
3//# chunkId=01a0e6c3-5964-7612-8e8b-41d4c9c95f57

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.