PageSourceSearch

https://staffyou.nl/assets/WfmModulePage-BguXVYbE.js

js staffyou.nl collected 2026-10-10 01:30:26 UTC 36,496 bytes, 31 lines download raw bytes

1import{c as k,j as e,r as b,L as W,aa as U,ab as G}from"./index-B4DSGpnZ.js";import{C as _}from"./ClientLogoStrip-CiReV9qt.js";import{P as Z,S as y,o as Q,O as D,a as J}from"./PageSEO-FNC7elb3.js";import{A as Y,R as K,F as X}from"./B2BRoutes-znFqYZ0p.js";import{S as ee}from"./StatementBand-87quMrWz.js";import{u as F}from"./LanguageContext-CrS4-e7X.js";import{a as se}from"./supabase-OmfZVxc2.js";import{e as $,t as ae,h as ne}from"./site-routes-BRwXWlgG.js";import{M as ie}from"./map-pin-DrGM4g5r.js";import{C as L}from"./check-DL6SDK0M.js";import{U as P}from"./user-DqOkkZ3A.js";import{C as te}from"./clock-CNHjxf03.js";import{S as le}from"./shield-check-CIikkjsT.js";import"./SiteFooter-BA7PBQit.js";import"./RegisterLink-CMg2E7zV.js";import"./clientsData-DDpPOM7B.js";import"./routes-BbyfnoTo.js";import"./sectors-B4mA42XX.js";/* empty css                       *//**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const V=k("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/**
7 * @license lucide-react v0.462.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const re=k("ChartLine",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]]);/**
12 * @license lucide-react v0.462.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */const I=k("CheckCheck",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);/**
17 * @license lucide-react v0.462.0 - ISC
18 *
19 * This source code is licensed under the ISC license.
20 * See the LICENSE file in the root directory of this source tree.
21 */const ce=k("Fingerprint",[["path",{d:"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4",key:"1nerag"}],["path",{d:"M14 13.12c0 2.38 0 6.38-1 8.88",key:"o46ks0"}],["path",{d:"M17.29 21.02c.12-.6.43-2.3.5-3.02",key:"ptglia"}],["path",{d:"M2 12a10 10 0 0 1 18-6",key:"ydlgp0"}],["path",{d:"M2 16h.01",key:"1gqxmh"}],["path",{d:"M21.8 16c.2-2 .131-5.354 0-6",key:"drycrb"}],["path",{d:"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2",key:"1tidbn"}],["path",{d:"M8.65 22c.21-.66.45-1.32.57-2",key:"13wd9y"}],["path",{d:"M9 6.8a6 6 0 0 1 9 5.2v2",key:"1fr1j5"}]]);/**
22 * @license lucide-react v0.462.0 - ISC
23 *
24 * This source code is licensed under the ISC license.
25 * See the LICENSE file in the root directory of this source tree.
26 */const oe=k("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]]);/**
27 * @license lucide-react v0.462.0 - ISC
28 *
29 * This source code is licensed under the ISC license.
30 * See the LICENSE file in the root directory of this source tree.
31 */const de=k("SlidersHorizontal",[["line",{x1:"21",x2:"14",y1:"4",y2:"4",key:"obuewd"}],["line",{x1:"10",x2:"3",y1:"4",y2:"4",key:"1q6298"}],["line",{x1:"21",x2:"12",y1:"12",y2:"12",key:"1iu8h1"}],["line",{x1:"8",x2:"3",y1:"12",y2:"12",key:"ntss68"}],["line",{x1:"21",x2:"16",y1:"20",y2:"20",key:"14d8ph"}],["line",{x1:"12",x2:"3",y1:"20",y2:"20",key:"m0wm8r"}],["line",{x1:"14",x2:"14",y1:"2",y2:"6",key:"14e1ph"}],["line",{x1:"8",x2:"8",y1:"10",y2:"14",key:"1i6ji0"}],["line",{x1:"16",x2:"16",y1:"18",y2:"22",key:"1lctlv"}]]),H=["ma","di","wo","do","vr","za","zo","ma","di","wo","do","vr","za","zo"],A=[58,62,61,70,84,92,76],w=[74,63,66,72,88,96,81],T=7,me=[12,13,12,15,19,22,17,16,13,14,16,20,24,18],z=520,f=176,R=H.length,h=z/(R-1),x=s=>f-s/110*f;function B(s,a=0){return s.map((l,d)=>`${d===0?"M":"L"} ${(d+a)*h} ${x(l)}`).join(" ")}function he(){const{t:s}=F(),a=w.map(t=>Math.min(108,t+T)),l=[...w].map(t=>Math.max(8,t-T)).reverse(),d=a.map((t,r)=>`${r===0?"M":"L"} ${(r+7)*h} ${x(t)}`).join(" ")+" "+l.map((t,r)=>`L ${(R-1-r)*h} ${x(t)}`).join(" ")+" Z";return e.jsxs("div",{className:"fc-viz",children:[e.jsxs("div",{className:"fc-viz-top",children:[e.jsxs("div",{children:[e.jsx("span",{className:"fc-viz-eyebrow",children:s("Bezettingsprognose","Staffing forecast")}),e.jsx("strong",{children:s("Voorbeeld B.V. · locatie Centrum","Example Ltd. · Centrum location")}),e.jsx("span",{className:"fc-viz-meta",children:s("14 dagen · uurniveau · laatst bijgewerkt 3 min geleden","14 days · hourly · last updated 3 min ago")})]}),e.jsxs("span",{className:"fc-viz-badge",children:[e.jsx("i",{}),s("Live model","Live model")]})]}),e.jsxs("div",{className:"fc-kpis",children:[e.jsxs("div",{className:"fc-kpi",children:[e.jsx("span",{children:s("Verwachte vraag","Expected demand")}),e.jsx("strong",{children:s("1.284 uur","1,284 hours")}),e.jsx("em",{className:"up",children:s("+8,4% vs vorige week","+8.4% vs last week")})]}),e.jsxs("div",{className:"fc-kpi",children:[e.jsx("span",{children:s("Nauwkeurigheid","Accuracy")}),e.jsx("strong",{children:s("94,2%","94.2%")}),e.jsx("em",{className:"up",children:s("MAPE 5,8%","MAPE 5.8%")})]}),e.jsxs("div",{className:"fc-kpi",children:[e.jsx("span",{children:s("Open shifts","Open shifts")}),e.jsx("strong",{children:"23"}),e.jsx("em",{className:"warn",children:s("piek za 16 aug","peak Sat Aug 16")})]})]}),e.jsxs("div",{className:"fc-legend",children:[e.jsx("span",{className:"fc-lg fc-lg-actual",children:s("Realisatie","Actual")}),e.jsx("span",{className:"fc-lg fc-lg-fc",children:s("Voorspelling","Forecast")}),e.jsx("span",{className:"fc-lg fc-lg-band",children:s("Betrouwbaarheidsmarge","Confidence interval")})]}),e.jsxs("svg",{className:"fc-viz-chart",viewBox:`0 0 ${z} ${f+46}`,role:"img","aria-label":s("Grafiek met gerealiseerde en voorspelde bezetting per dag voor de komende twee weken","Chart showing actual and forecast staffing per day for the next two weeks"),children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:"fcGrad",x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:"#48d6d2"}),e.jsx("stop",{offset:"100%",stopColor:"#751bf7"})]}),e.jsxs("linearGradient",{id:"fcFill",x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#48d6d2",stopOpacity:".20"}),e.jsx("stop",{offset:"100%",stopColor:"#48d6d2",stopOpacity:"0"})]})]}),[0,1,2,3,4].map(t=>e.jsxs("g",{children:[e.jsx("line",{x1:"0",x2:z,y1:f/4*t,y2:f/4*t,stroke:"#eceaf6",strokeWidth:"1"}),e.jsxs("text",{x:"2",y:f/4*t-4,textAnchor:"start",fontSize:"9",fill:"#b4b6c8",children:[110-t*27.5,"%"]})]},t)),e.jsx("path",{d,fill:"rgba(117,27,247,.12)"}),e.jsx("path",{d:`${B(A)} L ${6*h} ${f} L 0 ${f} Z`,fill:"url(#fcFill)"}),e.jsx("path",{d:B(A),fill:"none",stroke:"#48d6d2",strokeWidth:"2.6",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("path",{d:`M ${6*h} ${x(A[6])} L ${7*h} ${x(w[0])} ${B(w,7).slice(1)}
31`,fill:"none",stroke:"url(#fcGrad)",strokeWidth:"2.8",strokeDasharray:"7 5",strokeLinecap:"round",strokeLinejoin:"round"}),e.jsx("line",{x1:6*h,x2:6*h,y1:"0",y2:f,stroke:"#c9c6e0",strokeWidth:"1",strokeDasharray:"3 4"}),e.jsx("text",{x:6*h+6,y:"11",fontSize:"9.5",fontWeight:"700",fill:"#751bf7",children:s("VANDAAG","TODAY")}),A.map((t,r)=>e.jsx("circle",{cx:r*h,cy:x(t),r:"3",fill:"#fff",stroke:"#48d6d2",strokeWidth:"2"},`a${r}`)),w.map((t,r)=>e.jsx("circle",{cx:(r+7)*h,cy:x(t),r:"3",fill:"#fff",stroke:"#751bf7",strokeWidth:"2"},`f${r}`)),e.jsxs("g",{transform:`translate(${Math.min(12*h-40,z-116)}, ${x(w[5])+14})`,children:[e.jsx("rect",{width:"112",height:"30",rx:"8",fill:"#0d1235"}),e.jsx("text",{x:"10",y:"13",fontSize:"9",fill:"#9fa2c4",children:s("za 16 aug","Sat Aug 16")}),e.jsx("text",{x:"10",y:"24",fontSize:"11",fontWeight:"700",fill:"#fff",children:s("96% · +6 staffers","96% · +6 staffers")})]}),me.map((t,r)=>{const p=t/26*26;return e.jsx("rect",{x:r*h-6,y:f+6+(26-p),width:"12",height:p,rx:"3",fill:r>6?"rgba(117,27,247,.35)":"rgba(72,214,210,.45)"},`b${r}`)}),H.map((t,r)=>e.jsx("text",{x:r*h,y:f+44,textAnchor:"middle",fontSize:"9",fill:"#8b8da3",children:t},`d${r}`))]}),e.jsxs("div",{className:"fc-signals",children:[e.jsx("span",{className:"fc-sig-label",children:s("Signalen in model","Signals in model")}),e.jsx("span",{className:"fc-sig",children:s("Historie 24 mnd","24-month history")}),e.jsx("span",{className:"fc-sig",children:s("Reserveringen","Reservations")}),e.jsx("span",{className:"fc-sig",children:s("Weer 26°C","Weather 26°C")}),e.jsx("span",{className:"fc-sig",children:s("Evenement · 12k bezoekers","Event · 12k visitors")})]})]})}function pe(){return e.jsxs("div",{className:"agentchat",children:[e.jsxs("div",{className:"agentchat-chrome",children:[e.jsxs("div",{className:"agentchat-chrome-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx("span",{className:"agentchat-chrome-title",children:"Staffyou WFM Agent"})]}),e.jsxs("div",{className:"agentchat-body",children:[e.jsx("div",{className:"agentchat-meta",children:"Vandaag 08:24"}),e.jsxs("div",{className:"agentchat-bubble agentchat-bubble--agent",children:[e.jsx("div",{className:"agentchat-bubble-name",children:"Staffyou Agent"}),e.jsx("p",{children:"Ben je zaterdag beschikbaar in Utrecht?"}),e.jsx("span",{className:"agentchat-bubble-time",children:"08:24"})]}),e.jsxs("div",{className:"agentchat-bubble agentchat-bubble--staffer",children:[e.jsx("p",{children:"Ja, kan ik vanaf 16:00"}),e.jsx("span",{className:"agentchat-bubble-time",children:"08:31"})]}),e.jsxs("div",{className:"agentchat-bubble agentchat-bubble--agent agentchat-bubble--confirm",children:[e.jsx("div",{className:"agentchat-bubble-name",children:"Staffyou Agent"}),e.jsxs("p",{children:[e.jsx(I,{size:16,strokeWidth:2.5,"aria-hidden":"true"}),"Bevestigd: zaterdag 16:00 – 23:00, Utrecht Centraal"]}),e.jsx("span",{className:"agentchat-bubble-time",children:"08:31"})]})]}),e.jsxs("div",{className:"agentchat-input",children:[e.jsx("span",{children:"Bericht..."}),e.jsx("div",{className:"agentchat-send","aria-hidden":"true",children:e.jsx("svg",{viewBox:"0 0 24 24",width:"18",height:"18",fill:"currentColor",children:e.jsx("path",{d:"M2 21l21-9L2 3v7l15 2-15 2v7z"})})})]})]})}function fe(){const{t:s}=F();return e.jsxs("div",{className:"algomatch",children:[e.jsxs("div",{className:"algomatch-chrome",children:[e.jsxs("div",{className:"algomatch-chrome-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx("span",{className:"algomatch-chrome-title",children:"Staffyou WFM Algoritme"})]}),e.jsxs("div",{className:"algomatch-body",children:[e.jsxs("div",{className:"algomatch-shift",children:[e.jsxs("div",{children:[e.jsx("p",{className:"algomatch-shift-label",children:s("Open shift","Open shift")}),e.jsx("p",{className:"algomatch-shift-title",children:s("Horecamedewerker — Voorbeeld B.V.","Hospitality staff — Example Ltd.")})]}),e.jsx("span",{className:"algomatch-shift-time",children:s("za 16:00 – 23:00","Sat 16:00 – 23:00")})]}),e.jsxs("ul",{className:"algomatch-factors",children:[e.jsxs("li",{className:"algomatch-factor",children:[e.jsx("span",{className:"algomatch-factor-label",children:s("Skills en certificaten","Skills and certificates")}),e.jsxs("span",{className:"algomatch-factor-slot",children:[e.jsx("span",{className:"algomatch-bar","aria-hidden":"true",children:e.jsx("i",{style:{width:"96%"}})}),e.jsx("span",{className:"algomatch-factor-value",children:"96"})]})]}),e.jsxs("li",{className:"algomatch-factor",children:[e.jsx("span",{className:"algomatch-factor-label",children:s("Reisafstand","Travel distance")}),e.jsx("span",{className:"algomatch-factor-slot",children:e.jsxs("span",{className:"algomatch-pill algomatch-pill--dist",children:[e.jsx(ie,{size:12,strokeWidth:2.2,"aria-hidden":"true"}),s("8 km","8 km")]})})]}),e.jsxs("li",{className:"algomatch-factor",children:[e.jsx("span",{className:"algomatch-factor-label",children:s("Kosten","Cost")}),e.jsx("span",{className:"algomatch-factor-slot",children:e.jsxs("span",{className:"algomatch-pill algomatch-pill--ok",children:[e.jsx(L,{size:12,strokeWidth:3,"aria-hidden":"true"}),s("binnen budget","within budget")]})})]})]}),e.jsxs("div",{className:"algomatch-more",children:[e.jsx("span",{children:s("+2 andere factoren","+2 other factors")}),e.jsxs("span",{className:"algomatch-tags",children:[e.jsx("em",{children:s("voorkeur · 5e shift","preference · 5th shift")}),e.jsx("em",{children:s("bron · eigen pool","source · own pool")})]})]}),e.jsxs("div",{className:"algomatch-result",children:[e.jsxs("div",{className:"algomatch-result-left",children:[e.jsx("span",{className:"algomatch-avatar","aria-hidden":"true",children:"VM"}),e.jsxs("div",{children:[e.jsx("p",{className:"algomatch-result-name",children:s("Voorstel: Voorbeeld M.","Proposal: Example M.")}),e.jsx("p",{className:"algomatch-result-sub",children:s("Compliance-check akkoord","Compliance check passed")})]})]}),e.jsx("span",{className:"algomatch-score",children:s("94% match","94% match")})]})]})]})}const xe=[["ATW rusttijden","11 uur tussen shifts","voldoet"],["CAO-toeslag","ORT zaterdag 22%","correct berekend"],["Certificaat (VCA)","geldig tot 14-03-2027","geldig"],["Leeftijdscheck","21 jaar — geen beperking","n.v.t."]];function je(){return e.jsxs("div",{className:"algomatch compcheck",children:[e.jsxs("div",{className:"algomatch-chrome",children:[e.jsxs("div",{className:"algomatch-chrome-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx("span",{className:"algomatch-chrome-title",children:"Staffyou WFM Compliance"})]}),e.jsxs("div",{className:"algomatch-body",children:[e.jsxs("div",{className:"algomatch-shift",children:[e.jsxs("div",{children:[e.jsx("p",{className:"algomatch-shift-label",children:"Shift-controle"}),e.jsx("p",{className:"algomatch-shift-title",children:"Horecamedewerker — Voorbeeld B.V."})]}),e.jsx("span",{className:"algomatch-shift-time",children:"za 16:00 – 23:00"})]}),e.jsx("ul",{className:"compcheck-rules",children:xe.map(([s,a,l])=>e.jsxs("li",{className:"compcheck-rule compcheck-rule--ok",children:[e.jsx("span",{className:"compcheck-icon","aria-hidden":"true",children:e.jsx(L,{size:13,strokeWidth:3})}),e.jsxs("span",{className:"compcheck-text",children:[e.jsx("b",{children:s}),e.jsx("em",{children:a})]}),e.jsx("span",{className:"compcheck-status",children:l})]},s))}),e.jsxs("div",{className:"algomatch-result",children:[e.jsxs("div",{className:"algomatch-result-left",children:[e.jsx("span",{className:"algomatch-avatar","aria-hidden":"true",children:"VM"}),e.jsxs("div",{children:[e.jsx("p",{className:"algomatch-result-name",children:"Voorbeeld M. — Horecamedewerker"}),e.jsx("p",{className:"algomatch-result-sub",children:"4 van 4 checks automatisch goedgekeurd"})]})]}),e.jsx("span",{className:"algomatch-score compcheck-score",children:"Shift compliant ✓"})]})]})]})}function ge(){return e.jsxs("div",{className:"algomatch idverify",children:[e.jsxs("div",{className:"algomatch-chrome",children:[e.jsxs("div",{className:"algomatch-chrome-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx("span",{className:"algomatch-chrome-title",children:"Staffyou WFM ID"})]}),e.jsxs("div",{className:"algomatch-body idverify-body",children:[e.jsxs("div",{className:"idverify-face-wrap",children:[e.jsxs("div",{className:"idverify-face","aria-hidden":"true",children:[e.jsx("span",{className:"idverify-face-avatar",children:e.jsx(P,{size:48,strokeWidth:2,"aria-hidden":"true"})}),e.jsx("span",{className:"idverify-scanline","aria-hidden":"true"}),e.jsx("span",{className:"idverify-corner idverify-corner--tl","aria-hidden":"true"}),e.jsx("span",{className:"idverify-corner idverify-corner--tr","aria-hidden":"true"}),e.jsx("span",{className:"idverify-corner idverify-corner--bl","aria-hidden":"true"}),e.jsx("span",{className:"idverify-corner idverify-corner--br","aria-hidden":"true"})]}),e.jsxs("div",{className:"idverify-result",children:[e.jsx("span",{className:"idverify-name",children:"Voorbeeld M. — geverifieerd"}),e.jsx(L,{size:15,strokeWidth:3,className:"idverify-check","aria-hidden":"true"})]}),e.jsxs("span",{className:"idverify-match",children:[e.jsx(L,{size:13,strokeWidth:3,"aria-hidden":"true"}),"100% match"]}),e.jsx("p",{className:"idverify-tagline",children:"Documentcheck, biometrie en check-in in één stap."})]}),e.jsxs("div",{className:"algomatch-result",children:[e.jsxs("div",{className:"algomatch-result-left",children:[e.jsx("span",{className:"algomatch-avatar","aria-hidden":"true",children:e.jsx(P,{size:22,strokeWidth:2})}),e.jsxs("div",{children:[e.jsx("p",{className:"algomatch-result-name",children:"Voorbeeld M. is ingecheckt bij Voorbeeld B.V."}),e.jsx("p",{className:"algomatch-result-sub",children:"Identiteit geverifieerd — 00:11 doorlooptijd"})]})]}),e.jsx("span",{className:"algomatch-score idverify-score",children:"Ingecheckt ✓"})]})]})]})}function ue(){return e.jsxs("div",{className:"agentchat engagenotify",children:[e.jsxs("div",{className:"agentchat-chrome",children:[e.jsxs("div",{className:"agentchat-chrome-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx("span",{className:"agentchat-chrome-title",children:"Staffyou WFM Engage"})]}),e.jsxs("div",{className:"agentchat-body engagenotify-body",children:[e.jsx("div",{className:"agentchat-meta",children:"Vandaag"}),e.jsxs("div",{className:"engagenotify-card",children:[e.jsx("span",{className:"engagenotify-icon engagenotify-icon--violet","aria-hidden":"true",children:e.jsx(V,{size:15,strokeWidth:2.5})}),e.jsxs("div",{className:"engagenotify-text",children:[e.jsx("b",{children:"Nieuwe shift beschikbaar"}),e.jsx("em",{children:"Voorbeeld B.V. — za 16:00 – 23:00"})]}),e.jsx("span",{className:"engagenotify-time",children:"09:12"})]}),e.jsxs("div",{className:"engagenotify-card",children:[e.jsx("span",{className:"engagenotify-icon engagenotify-icon--turq","aria-hidden":"true",children:e.jsx(te,{size:15,strokeWidth:2.5})}),e.jsxs("div",{className:"engagenotify-text",children:[e.jsx("b",{children:"Herinnering: shift morgen 08:00"}),e.jsx("em",{children:"Meld je 10 minuten eerder bij de ingang"})]}),e.jsx("span",{className:"engagenotify-time",children:"18:00"})]}),e.jsxs("div",{className:"agentchat-bubble agentchat-bubble--staffer engagenotify-reply",children:[e.jsx("p",{children:"Ik pak de zaterdagshift 👍"}),e.jsx("span",{className:"agentchat-bubble-time",children:"09:14"})]}),e.jsxs("div",{className:"engagenotify-card engagenotify-card--confirm",children:[e.jsx("span",{className:"engagenotify-icon engagenotify-icon--green","aria-hidden":"true",children:e.jsx(I,{size:15,strokeWidth:2.5})}),e.jsxs("div",{className:"engagenotify-text",children:[e.jsx("b",{children:"Voorbeeld M. bevestigd"}),e.jsx("em",{children:"Shift ingepland — team is op de hoogte"})]}),e.jsx("span",{className:"engagenotify-badge",children:"Gevuld ✓"})]})]})]})}const C={forecast:0,algoritme:1,agent:1,compliance:2,id:2,engage:3},ve={compliance:le,id:ce,agent:oe,algoritme:de,forecast:re,engage:V};function ye(){const{t:s}
31=F(),[a,l]=b.useState({name:"",company:"",email:"",phone:"",message:""}),[d,t]=b.useState(!1),[r,p]=b.useState(!1),[j,S]=b.useState(""),i=M=>{const{name:g,value:u}=M.target;l(v=>({...v,[g]:u}))},c=async M=>{var g;M.preventDefault(),t(!0),S("");try{const v=await fetch(`${se}/functions/v1/send-contact-email`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...a,message:U(a.message),...G()})}),n=await v.json();if(!v.ok||n.error)throw new Error(((g=n.error)==null?void 0:g.message)||"Send failed");p(!0),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"B2BcontactSend"})}catch(u){console.error("Error submitting form:",u),S(s("Er is iets misgegaan. Probeer het later opnieuw.","Something went wrong. Please try again later."))}finally{t(!1)}};return r?e.jsxs("div",{className:"wfmmod-form",children:[e.jsx("h3",{children:s("Dank je.","Thank you.")}),e.jsx("p",{children:s("We hebben je aanvraag ontvangen en nemen binnen één werkdag contact met je op.","We've received your request and will get back to you within one business day.")})]}):e.jsxs("form",{className:"wfmmod-form",onSubmit:c,children:[e.jsxs("div",{className:"wfmmod-form-grid",children:[e.jsxs("div",{className:"wfmmod-field",children:[e.jsx("label",{htmlFor:"wm-name",children:s("Naam","Name")}),e.jsx("input",{id:"wm-name",name:"name",required:!0,autoComplete:"name",placeholder:s("Voor- en achternaam","First and last name"),value:a.name,onChange:i})]}),e.jsxs("div",{className:"wfmmod-field",children:[e.jsx("label",{htmlFor:"wm-company",children:s("Organisatie","Organisation")}),e.jsx("input",{id:"wm-company",name:"company",required:!0,autoComplete:"organization",placeholder:s("Bedrijfsnaam","Company name"),value:a.company,onChange:i})]}),e.jsxs("div",{className:"wfmmod-field",children:[e.jsx("label",{htmlFor:"wm-email",children:s("Zakelijk e-mailadres","Business email address")}),e.jsx("input",{id:"wm-email",name:"email",type:"email",required:!0,autoComplete:"email",placeholder:s("[email protected]","[email protected]"),value:a.email,onChange:i})]}),e.jsxs("div",{className:"wfmmod-field",children:[e.jsx("label",{htmlFor:"wm-phone",children:s("Telefoonnummer","Phone number")}),e.jsx("input",{id:"wm-phone",name:"phone",type:"tel",autoComplete:"tel",placeholder:"+31 6 12345678",value:a.phone,onChange:i})]}),e.jsxs("div",{className:"wfmmod-field wfmmod-field--full",children:[e.jsx("label",{htmlFor:"wm-message",children:s("Waar loop je tegenaan?","What are you struggling with?")}),e.jsx("textarea",{id:"wm-message",name:"message",placeholder:s("Aantal medewerkers, aantal shifts per week, locaties en leveranciers.","Number of employees, shifts per week, locations and suppliers."),value:a.message,onChange:i})]})]}),j&&e.jsx("p",{className:"wfmmod-form-error",children:j}),e.jsx("button",{className:"wfmmod-btn wfmmod-btn-primary",type:"submit",disabled:d,children:d?s("Verzenden…","Sending…"):s("Plan een kennismaking","Book an introduction")}),e.jsx("p",{className:"wfmmod-form-note",children:s("Sessie van 30 minuten. Door te versturen geef je toestemming om contact met je op te nemen.","A 30-minute session. By submitting you consent to being contacted.")})]})}function Pe({module:s}){var g,u,v;const{t:a,path:l,lang:d}=F(),[t,r]=b.useState(null),[p,j]=b.useState(null),S=$.filter(n=>n.slug!==s.slug),i=d==="en"?s.en:void 0,c={eyebrow:(i==null?void 0:i.eyebrow)??s.eyebrow,h1:(i==null?void 0:i.h1)??s.h1,sub:(i==null?void 0:i.sub)??s.sub,seoTitle:(i==null?void 0:i.seoTitle)??s.seoTitle,seoDescription:(i==null?void 0:i.seoDescription)??s.seoDescription,problem:(i==null?void 0:i.problem)??s.problem,does:(i==null?void 0:i.does)??s.does,how:(i==null?void 0:i.how)??s.how,navy:(i==null?void 0:i.navy)??s.navy,proof:{kind:s.proof.kind,stats:s.proof.stats,quote:((g=i==null?void 0:i.proof)==null?void 0:g.quote)??s.proof.quote,source:((u=i==null?void 0:i.proof)==null?void 0:u.source)??s.proof.source},faq:(i==null?void 0:i.faq)??s.faq},M=d==="en"?ae:ne;return e.jsxs("div",{className:"wfmmod",children:[e.jsx(Z,{title:c.seoTitle,description:c.seoDescription,canonical:`${y}${l(`/wfm/${s.slug}`)}`,jsonLd:[Q(),{"@context":"https://schema.org","@type":"FAQPage",mainEntity:c.faq.map(([n,o])=>
31({"@type":"Question",name:n,acceptedAnswer:{"@type":"Answer",text:o}}))},{"@context":"https://schema.org","@type":"SoftwareApplication","@id":`${y}${l(`/wfm/${s.slug}`)}#software`,name:s.name,url:`${y}${l(`/wfm/${s.slug}`)}`,applicationCategory:"BusinessApplication",applicationSubCategory:d==="en"?"Workforce management and scheduling software":"Workforce management- en planningssoftware",operatingSystem:"Web, iOS, Android",inLanguage:d==="en"?"en":"nl-NL",publisher:{"@id":D},provider:{"@id":D},featureList:c.does.map(n=>n.title),offers:{"@type":"Offer",price:"0.15",priceCurrency:"EUR",url:`${y}${l("/wfm")}`,description:d==="en"?"€0.15 per scheduled hour, 500 free hours per month, unlimited users and locations.":"€0,15 per gepland uur, 500 gratis uren per maand, onbeperkt gebruikers en locaties."},description:(i==null?void 0:i.oneliner)??s.oneliner,isPartOf:{"@type":"SoftwareApplication","@id":"https://staffyou.nl/voor-bedrijven/wfm#software",name:"Staffyou WFM",url:"https://staffyou.nl/voor-bedrijven/wfm"}},{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:d==="en"?"For companies":"Voor bedrijven",item:`${y}${l("/")}`},{"@type":"ListItem",position:2,name:"Staffyou WFM",item:`${y}${l("/wfm")}`},{"@type":"ListItem",position:3,name:s.name,item:`${y}${l(`/wfm/${s.slug}`)}`}]},J({headline:c.seoTitle,description:c.seoDescription,url:l(`/wfm/${s.slug}`),dateModified:"2026-09-22",lang:d})]}),e.jsx("section",{className:"wfmmod-hero",children:e.jsxs("div",{className:"wrap wfmmod-hero-grid",children:[e.jsxs("div",{children:[e.jsx("p",{className:"eyebrow",children:c.eyebrow}),e.jsx("h1",{children:c.h1}),e.jsx("p",{className:"lede",children:c.sub}),s.slug==="algoritme"&&e.jsx("div",{className:"wfmmod-hero-pills",children:S.map(n=>e.jsx(W,{to:l(`/wfm/${n.slug}`),className:"wfmmod-chip",children:n.name.replace("Staffyou ","")},n.slug))}),e.jsxs("div",{className:"wfmmod-actions",children:[e.jsx("a",{href:"#demo",className:"wfmmod-btn wfmmod-btn-primary",children:a("Plan een demo","Book a demo")}),e.jsx(W,{to:l("/wfm"),className:"wfmmod-btn wfmmod-btn-ghost",children:a("Bekijk het platform","View the platform")})]})]}),e.jsxs("div",{className:"wfmmod-hero-visual",children:[s.slug==="forecast"&&e.jsx(he,{}),s.slug==="agent"&&e.jsx(pe,{}),s.slug==="algoritme"&&e.jsx(fe,{}),s.slug==="compliance"&&e.jsx(je,{}),s.slug==="id"&&e.jsx(ge,{}),s.slug==="engage"&&e.jsx(ue,{})]})]})}),e.jsx("section",{className:"wfmmod-answer",style:{padding:"40px 0 8px"},children:e.jsx("div",{className:"wrap",children:e.jsxs(Y,{question:a(`Wat doet ${s.name}?`,`What does ${s.name} do?`),children:[(i==null?void 0:i.oneliner)??s.oneliner," ",(v=c.faq[0])==null?void 0:v[1]]})})}),e.jsx(_,{}),s.slug==="agent"&&e.jsx("section",{className:"wfmmod-anim",children:e.jsxs("div",{className:"wrap wfmmod-anim-grid",children:[e.jsxs("div",{className:"wfmmod-anim-copy",children:[e.jsx("p",{className:"eyebrow",children:a("De agent in actie","The agent in action")}),e.jsx("h2",{children:a("Van open shift naar bevestigde staffer.","From open shift to confirmed staffer.")}),e.jsx("p",{children:a("Selecteren, contact leggen, inplannen en evalueren — de agent doet het parallel, dag en nacht.","Selecting, reaching out, scheduling and evaluating — the agent does it all in parallel, day and night.")}),e.jsxs("ul",{className:"wfmmod-anim-steps",children:[e.jsx("li",{children:a("Slimme selectie op skills, beschikbaarheid en reistijd","Smart selection on skills, availability and travel time")}),e.jsx("li",{children:a("Tientallen WhatsApp-gesprekken tegelijk","Dozens of WhatsApp conversations at once")}),e.jsx("li",{children:a("Wie ja zegt, staat direct in het rooster","Whoever says yes is placed straight into the schedule")}),e.jsx("li",{children:a("Nagesprek met staffer én klant, terug het systeem in","Follow-up with staffer and client, fed straight back into the system")})]})]}),e.jsxs("div",{className:"wfmmod-anim-frame",children:[e.jsxs("div",{className:"wfmmod-anim-chrome",children:[e.jsxs("div",{className:"wfmmod-anim-chrome-dots",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx("span",{className:"wfmmod-anim-chrome-title",children:"Staffyou WFM Agent"})]}),e.jsx("iframe",{src:"/animations/agent/index.html",title:a("Animatie: hoe de Staffyou AI-agent werkt","Animation: how the Staffyou AI agent works"),loading:"lazy",allowFullScreen:!0})]})]})}),e.jsx("section",{className:"wfmmod-problem",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"wfmmod-head",children:[e.jsx("p",{className:"eyebrow",children:a("Hoe het nu gaat","How it works today")}),e.jsx("h2",{children:a("Zonder deze module lost iemand het handmatig op.","Without this module, someone solves it by hand.")}),e.jsx("p",{children:c.problem.intro})]}),e.jsx("div",{className:"wfmmod-cases",children:c.problem.cases.map(([n,o])=>e.jsxs("div",{className:"wfmmod-case",children:[e.jsx("h3",{children:n}),e.jsx("p",{children:o})]},n))})]})}),e.jsx("section",{className:"wfmmod-does wfmmod-navy",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"wfmmod-head",children:[e.jsx("p",{className:"eyebrow on-navy",children:a("Wat de module doet","What the module does")}),e.jsx("h2",{children:a(`${s.name} in functies, niet in beloftes.`,`${s.name} in features, not promises.`)})]}),e.jsx("ol",{className:"wfmmod-doeslist",children:c.does.map((n,o)=>e.jsxs("li",{className:"wfmmod-doesitem",children:[e.jsx("span",{className:"wfmmod-doesnum","aria-hidden":"true",children:String(o+1).padStart(2,"0")}),e.jsxs("div",{className:"wfmmod-doesbody",children:[e.jsx("h3",{children:n.title}),e.jsx("p",{children:n.text})]})]},n.title))})]})}),e.jsx("section",{className:"wfmmod-how",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"wfmmod-head",children:[e.jsx("p",{className:"eyebrow",children:a("Hoe het werkt","How it works")}),e.jsx("h2",{children:a("Van inrichting naar dagelijks gebruik.","From setup to daily use.")})]}),e.jsx("div",{className:"wfmmod-timeline",children:c.how.map((n,o)=>e.jsxs("div",{className:"wfmmod-tl-item",children:[e.jsx("div",{className:"wfmmod-tl-marker",children:e.jsx("span",{children:o+1})}),e.jsxs("b",{children:[a("Stap","Step")," ",o+1]}),e.jsx("h3",{children:n.step}),e.jsx("p",{children:n.text})]},n.step))})]})}),e.jsx("section",{className:"wfmmod-navy",children:e.jsxs("div",{className:"wrap wfmmod-navy-grid",children:[e.jsxs("div",{children:[e.jsx("p",{className:"eyebrow on-navy",children:a("Het onderscheid","The difference")}),e.jsx("h2",{children:c.navy.title}),e.jsx("p",{children:c.navy.text})]}),e.jsx("div",{className:"wfmmod-navy-chips",children:c.navy.chips.map(n=>e.jsx("span",{className:"wfmmod-navy-chip",children:n},n))})]})}),c.proof.quote&&e.jsx("section",{className:"wfmmod-proof",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"wfmmod-head",style:{marginBottom:36},children:[e.jsx("p",{className:"eyebrow",children:a("Bewijs","Proof")}
31),e.jsx("h2",{children:a("Wat klanten met het platform doen.","What clients do with the platform.")})]}),e.jsxs("blockquote",{className:"wfmmod-quote",children:[e.jsxs("p",{children:["“",c.proof.quote,"”"]}),e.jsx("cite",{children:c.proof.source})]})]})}),e.jsx(ee,{variant:"lime",eyebrow:"Staffyou WFM",children:a(`Eén platform voor je vaste team, je flexpool en je bureaus — ${s.name} hoort daarbij.`,`One platform for your permanent team, your flex pool and your agencies — ${s.name} is part of it.`)}),e.jsx("section",{className:"wfmmod-together",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"wfmmod-head",children:[e.jsx("p",{className:"eyebrow",children:a("Eén platform","One platform")}),e.jsx("h2",{children:a("Zo werken de modules samen.","This is how the modules work together.")}),e.jsx("p",{children:a(`${s.name} is geen los product. Het is een bouwsteen van Staffyou WFM.`,`${s.name} isn't a standalone product. It's a building block of Staffyou WFM.`)})]}),e.jsxs("div",{className:"wfmmod-stack",children:[e.jsxs("div",{className:"wfmmod-layer wfmmod-layer--modules",children:[e.jsx("span",{className:"wfmmod-layer-tag",children:a("Modules","Modules")}),e.jsx("div",{className:"wfmmod-tiles",children:$.map((n,o)=>{const m=ve[n.slug]??V,N=C[n.slug]??null,q=p===o||t!==null&&N===t,E={onMouseEnter:()=>j(o),onMouseLeave:()=>j(null),onFocus:()=>j(o),onBlur:()=>j(null)},O=e.jsxs(e.Fragment,{children:[e.jsx(m,{size:16,"aria-hidden":"true"}),e.jsx("span",{children:n.name.replace("Staffyou ","")})]});return n.slug===s.slug?e.jsx("div",{...E,className:`wfmmod-tile wfmmod-tile--current${q?" wfmmod-tile--lit":""}`,children:O},n.slug):e.jsx(W,{to:l(`/wfm/${n.slug}`),...E,className:`wfmmod-tile${q?" wfmmod-tile--lit":""}`,children:O},n.slug)})})]}),e.jsx("div",{className:"wfmmod-connect wfmmod-connect--6","aria-hidden":"true",children:$.map((n,o)=>{const m=C[n.slug]??null,N=p===o||t!==null&&m===t;return e.jsx("span",{className:N?"is-lit":void 0},o)})}),e.jsxs("div",{className:"wfmmod-layer wfmmod-layer--pillars",children:[e.jsx("span",{className:"wfmmod-layer-tag",children:a("Pijlers","Pillars")}),e.jsx("div",{className:"wfmmod-flow",children:M.map(([n,o],m)=>{var N;return e.jsxs("div",{className:`wfmmod-flow-item${t===m||p!==null&&C[(N=$[p])==null?void 0:N.slug]===m?" wfmmod-flow-item--lit":""}`,tabIndex:0,onMouseEnter:()=>r(m),onMouseLeave:()=>r(null),onFocus:()=>r(m),onBlur:()=>r(null),children:[e.jsx("b",{children:n}),e.jsx("p",{children:o})]},n)})})]}),e.jsx("div",{className:"wfmmod-connect wfmmod-connect--4","aria-hidden":"true",children:[0,1,2,3].map(n=>{var m;const o=t===n||p!==null&&C[(m=$[p])==null?void 0:m.slug]===n;return e.jsx("span",{className:o?"is-lit":void 0},n)})}),e.jsxs("div",{className:`wfmmod-foundation${t!==null||p!==null?" wfmmod-foundation--lit":""}`,children:[e.jsxs("svg",{className:"wfmmod-foundation-net",viewBox:"0 0 1200 160",preserveAspectRatio:"none","aria-hidden":"true",children:[e.jsx("path",{className:"wfmmod-net-line",d:"M40 120 C 200 40, 320 140, 470 70 S 760 30, 900 110 S 1110 60, 1170 90"}),e.jsx("path",{className:"wfmmod-net-line wfmmod-net-line--turq",d:"M20 60 C 180 130, 340 40, 520 120 S 820 140, 980 50 S 1140 110, 1190 40"}),e.jsx("path",{className:"wfmmod-net-line",d:"M100 20 C 260 90, 430 20, 600 100 S 900 120, 1080 30"}),[[40,120],[240,66],[470,70],[600,100],[760,44],[900,110],[1080,30],[1170,90],[180,34],[520,120],[980,50],[330,110]].map(([n,o],m)=>e.jsx("circle",{className:"wfmmod-net-node",cx:n,cy:o,r:m%3===0?3.4:2.4,fill:m%2===0?"#48D6D2":"#A56BFF"},m))]}),e.jsxs("div",{className:"wfmmod-foundation-label",children:[e.jsx("b",{children:"Staffyou WFM"}),e.jsx("span",{children:a("Eén platform onder alle modules en pijlers","One platform underpinning all modules and pillars")})]})]})]}),e.jsx("div",{className:"wfmmod-actions",children:e.jsx(W,{to:l("/wfm"),className:"wfmmod-btn wfmmod-btn-ghost",children:a("Bekijk het platform","View the platform")})})]})}),e.jsx("section",{style:{padding:"8px 0 40px"},children:e.jsx("div",{className:"wrap",children:e.jsx(K,{title:a("Vragen die planners hier ook stellen","Questions planners also ask"),links:[...S.map(n=>({label:a(`Wat doet ${n.name}?`,`What does ${n.name} do?`),href:l(`/wfm/${n.slug}`)})),{label:a("Wat kost Staffyou WFM per uur?","What does Staffyou WFM cost per hour?"),href:l("/prijzen")}
31,{label:a("Hoe blijf ik ATW- en cao-proof bij plannen?","How do I stay working-time and CLA compliant when scheduling?"),href:l("/wtta-dossier")},{label:a("Wat kost een uitzendkracht per uur?","What does a temp worker cost per hour?"),href:l("/uurtarief-uitzendkracht")}]})})}),e.jsx("section",{className:"wfmmod-faq",children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{className:"wfmmod-head",style:{textAlign:"center",marginInline:"auto",marginBottom:32},children:[e.jsx("p",{className:"eyebrow",children:a("Veelgestelde vragen","Frequently asked questions")}),e.jsx("h2",{children:a(`Vragen over ${s.name}.`,`Questions about ${s.name}.`)})]}),e.jsx(X,{faqs:c.faq.map(([n,o])=>({q:n,a:o}))})]})}),e.jsx("section",{className:"wfmmod-cta",id:"demo",children:e.jsxs("div",{className:"wrap wfmmod-cta-grid",children:[e.jsxs("div",{children:[e.jsx("p",{className:"eyebrow on-navy",children:a("Plan een demo","Book a demo")}),e.jsx("h2",{children:a("30 minuten, jouw bezetting als uitgangspunt.","30 minutes, your staffing as the starting point.")}),e.jsx("p",{children:a(`We lopen door je volumes, locaties en leveranciers en laten zien hoe ${s.name} in jullie planproces past.`,`We'll go through your volumes, locations and suppliers and show how ${s.name} fits your scheduling process.`)}),e.jsxs("ul",{children:[e.jsx("li",{children:a("Geen generieke productdemo","No generic product demo")}),e.jsx("li",{children:a("€0,15 per geplande uur, eerste 500 uur gratis","€0.15 per scheduled hour, first 500 hours free")}),e.jsx("li",{children:a("Staffelkorting bij volume, niet per gebruiker","Volume-based discounts, not per user")}),e.jsx("li",{children:a("Support 7 dagen per week, 07:00 tot 19:30","Support 7 days a week, 7am to 7:30pm")})]})]}),e.jsx(ye,{})]})})]})}export{Pe as default};

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.