1import{c as be,j as e,$ as V,a0 as ye,a1 as ve,a2 as we,N as U,p as W,q as ce,A as f,R as ke,e as E,S as je,K as J,a as $e,a3 as Se,b as k,d as N,i as Ne,k as Te,a4 as Ie,l as Me,a5 as Pe,a6 as Ae,B as Le,F as _e,n as Ve,m as Re,w as Ce,a7 as Ke,Z as Q,o as qe}from"./index-CIzuPCs9.js";import{P as de,r as Oe,n as F,a as Be,b as Ee,l as X,c as Fe,d as He,S as Ue,I as We,L as Ge}from"./registry-Btxnp7W7.js";import{g as De}from"./content-6PWv6Kwm.js";import{T as Z}from"./index-BzV4WmNS.js";import{P as ee}from"./registry-meta.generated-BiYyMQgo.js";import{G as Ye}from"./registry-C1DsSec1.js";import{u as G,O as me,s as ze,f as Je,b as Qe}from"./meta-Dy8EgZdT.js";import{S as pe}from"./StickyMobileCta-iBZq5Udi.js";import{f as se}from"./date-Cv4EjGCI.js";import{d as Xe,L as u}from"./vendor-react-BIB2Fffe.js";import{a as Ze}from"./app-bookkeeping-BSIHpGpT.js";import{L as es}from"./layers-CiTobW7n.js";import{B as ss}from"./book-open-B44zZEOd.js";import"./data-C1wYN7yU.js";/** 2 * @license lucide-react v0.487.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 ts=[["path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z",key:"q3az6g"}],["path",{d:"M14 8H8",key:"1l3xfs"}],["path",{d:"M16 12H8",key:"1fr5h0"}],["path",{d:"M13 16H8",key:"wsln4y"}]],as=be("receipt-text",ts);function R({src:s,alt:t,width:r,height:n,priority:i=!1,className:l="",maxWidth:a=300}){return e.jsx("div",{className:`relative mx-auto ${l}`,style:{maxWidth:`${a}px`,width:"100%"},children:e.jsx("div",{className:"relative overflow-hidden bg-black",style:{borderRadius:"clamp(28px, 7%, 44px)",padding:"6px",boxShadow:"0 24px 64px -24px rgba(2, 8, 23, 0.45)"},children:e.jsx("img",{src:s,alt:t,width:r,height:n,loading:i?"eager":"lazy",decoding:"async",...i?{fetchpriority:"high"}:{},className:"block h-auto w-full",style:{borderRadius:"clamp(22px, 5.5%, 38px)"}})})})}function ns({children:s,tone:t="ink",className:r=""}){return e.jsx("div",{className:`relative flex w-full items-center justify-center ${r}`,style:{background:t==="ink"?"var(--sq-canvas-dark)":"var(--sq-cream)",borderRadius:"var(--sq-radius-card)",paddingBlock:"clamp(40px, 7vw, 84px)",paddingInline:"clamp(20px, 4vw, 48px)"},children:s})}function os(s){let t=2166136261;for(let r=0;r<s.length;r++)t^=s.charCodeAt(r),t=Math.imul(t,16777619)>>>0;return t>>>0}const te=["A","B","C","D"];function is(s){return te[os(s)%te.length]}const rs={"pos-software":"app-home-dashboard","inventory-management":"app-stock-alerts","etims-billing":"app-bookkeeping","mpesa-payments":"app-mpesa-prompt","mobile-money-agents":"app-mpesa-prompt","sales-reporting":"app-home-dashboard","customer-management":"app-home-dashboard","supplier-management":"app-supplier-modal"},ae="app-home-dashboard",ls="/assets/app-ai-assistant-DRfU9MJ4.jpg",cs="/assets/app-branches-ChefyMCn.jpg",ds="/assets/app-mpesa-prompt-Dwn5B07I.jpg",ms="/assets/app-staff-roles-B__PCnHp.jpg",ps="/assets/app-stock-alerts-BwhdICX4.jpg",hs="/assets/app-supplier-modal-DL6K0RVu.jpg",ne={"app-ai-assistant":{src:ls,w:370,h:800,screen:"the Veira assistant answering a question about the dayâs sales"},"app-bookkeeping":{src:Ze,w:370,h:800,screen:"recorded sales and expenses with their eTIMS status"},"app-branches":{src:cs,w:370,h:800,screen:"sales compared across two branches on one screen"},"app-home-dashboard":{src:we,w:370,h:800,screen:"the dayâs sales total, recent transactions and current stock levels"},"app-mpesa-prompt":{src:ds,w:383,h:800,screen:"an M-Pesa payment being confirmed against a sale"},"app-staff-roles":{src:ms,w:370,h:800,screen:"staff accounts and what each one is allowed to do"},"app-stock-alerts":{src:ps,w:370,h:800,screen:"stock running low, flagged before it runs out"},"app-supplier-modal":{src:hs,w:370,h:800,screen:"a supplier record with its recent deliveries"}};function us(s){const t=rs[s]??ae;return ne[t]??ne[ae]}function gs({variant:s,eyebrow:t,h1:r,intro:n,solutionSlug:i,scenario:l,byline:a,cta:h}){const m=us(i),b=`The Veira app showing ${m.screen}`,v=e.jsx(ye,{as:"h1",className:"mt-5",children:r}),p=e.jsx(ve,{className:"mt-6",children:n}),y=e.jsx("div",{className:"mt-8 text-[13px] text-[color:var(--sq-ink-muted)]",children:a}),g=h?e.jsx("div",{className:"mt-8",children:h}):null;return s==="B"?e.jsxs("header",{className:"grid items-center gap-12 lg:grid-cols-[minmax(0,1fr)_auto] lg:gap-16",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(V,{children:t}),v,p,y,g]}),e.jsx(R,{src:m.src,alt:b,width:m.w,height:m.h,maxWidth:272})]}):s==="C"?e.jsxs("header",{className:"text-center",children:[e.jsx(V,{children:t}),v,e.jsx("div",{className:"mx-auto flex flex-col items-center",children:p}),g,e.jsx(ns,{className:"mt-14",children:e.jsx(R,{src:m.src,alt:b,width:m.w,height:m.h,maxWidth:288})}),e.jsx("div",{className:"flex justify-center",children:y})]}):s==="D"?e.jsxs("header",{children:[e.jsx(V,{children:t}),l&&e.jsx("p",{className:"mt-5 text-[color:var(--sq-ink-medium)]",style:{fontFamily:"var(--sq-font-display)",fontSize:"var(--sq-type-h3)",lineHeight:1.35},children:l}),v,e.jsxs("div",{className:"grid gap-12 lg:grid-cols-[minmax(0,1fr)_auto] lg:items-end lg:gap-16",children:[e.jsxs("div",{className:"min-w-0",children:[p,y,g]}),e.jsx(R,{src:m.src,alt:b,width:m.w,height:m.h,maxWidth:248})]})]}):e.jsxs("header",{children:[e.jsx(V,{children:t}),v,p,y,g,e.jsx("div",{className:"mt-14",children:e.jsx(R,{src:m.src,alt:b,width:m.w,height:m.h,maxWidth:296})})]})}const L=["customer-management","etims-billing","inventory-management","mobile-money-agents","mpesa-payments","pos-software","sales-reporting","supplier-management"],D=["accounting-services","adult-education","agricultural-input-dealers","agricultural-produce-wholesalers","agrovets","antique-dealers","app-development","architecture-firms","art-galleries","art-supply-shops","auto-repair","bakeries","barbershops","beauty-shops","bed-and-breakfast","beer-halls","bicycle-sh
6ops","bookshops","boutiques","building-material-suppliers","building-materials-wholesalers","business-consulting-services","business-outsourcing-services","business-registration-services","butcheries","cafes","cake-makers","car-rental-agencies","car-wash-services","cargo-handlers","carpentry-services","carpet-cleaning","casual-dining","catering-companies","catering-companies-refined","cement-dealers","certification-courses","charcoal-dealers","cleaning-services","clinics","clothing-wholesalers-distributors","cocktail-bars","coffee-shops","commodity-traders","computer-accessories-shops","computer-repair","confectioneries","construction-contractors","consulting-firms","convenience-stores","corner-shops-dukas","corporate-training-services","cosmetics-shops","courier-services","credit-unions","dairy-farms","daycare-centers","delivery-services","dental-practices","digital-marketing","digital-payment-agents","distributors","donut-shops","ecommerce-online-retail","electrical-services","electrical-supplies","electronics-appliances-wholesalers","electronics-shops","electronics-wholesalers","engineering-services","event-decoration-services","event-planning","event-venues","export-traders","eye-clinics","eyeglass-shops","fabric-shops","financial-consultants","fine-dining","fish-farms","fish-seafood-distribution","fitness-centers","flour-mills","food-courts","food-delivery","food-processing","food-wholesalers","forex-dealers","freight-forwarders","frozen-food-stores","fruit-orchards","fuel-stations","furniture-shops","gaming-cafes","garden-landscaping-services","general-merchandise-traders","gift-shops","glass-manufacturing","grain-cereal-mills","grain-farms","guest-houses","guesthouses","gyms","handbag-stores","hardware-dealers","hardware-stores","health-food-shops","hobby-shops","holiday-rentals","home-care-services","home-inspection-services","home-nursing-care","horticulture-farms","hostels","hotels","house-cleaning","hr-recruitment-consulting","import-export-businesses","insurance-agents","interior-design-decoration","internet-cafes","investment-advisors","it-support","jewelry-shops","juice-bars","key-copying","kitchen-home-goods-wholesalers","laboratory-services","laundries","laundry-dry-cleaning-services","law-practices","leather-goods-manufacturing","liquor-stores","livestock-traders","locksmith-services","market-stall-operators","marketing-branding-agencies","martial-arts-studios","massage-parlors","matatu-operators","meal-prep-services","meat-processing-butchery","medical-clinics","mental-health-counseling","metal-casting","metal-fabricators","microfinance-institutions","mini-supermarkets","minimarts","money-lenders","money-transfer-services","motor-mechanics","motorcycle-parts-shops","moving-companies","music-lessons","music-shops","nail-salons","newsagents","nightclubs","nursing-services","online-courses","online-learning","opticians","organic-shops","outdoor-gear-shops","painting-services","parking-facilities","pastry-shops","pawn-shops-quick-loans","pension-advisors","pest-control","pet-shops","pharmaceutical-wholesalers","pharmacies","pharmacies-standalone","phone-repair","phone-shops","photography-equipment-shops","physiotherapy-clinics","plumbing-supplies","preschools","primary-schools","printing-shops","property-developers","property-managers","quick-service-restaurants","real-estate-agents","recording-studios","recycling-yards","rehabilitation-centers","rental-agencies","resorts","restaurants","roofing-services","savings-groups","school-uniforms","second-hand-goods-dealers","secondary-schools","security-guarding-services","seed-dealers","shoe-repair","shoe-shops","sign-printing-shops","smoothie-bars","soap-cosmetics-manufacturing","software-development","solar-installers","spare-parts-dealers","spas","spice-merchants","sports-coaching","sportswear-shops","stationery-shops","storage-facilities","subscription-box-delivery","supermarkets","surveyors","tailoring-services","tailors","takeaway-shops","tax-audit-services","taxi-operators","tea-cafes","tea-shops","tech-repair-shops","textiles-tailoring","timber-suppliers","tobacco-shops","toy-children-product-wholesalers","toy-shops","training-centers","translation-interpretation-services","transport-operators","trucking-companies","tuk-tuk-operators","tyre-shops","uniforms-suppliers","universities","upholstery-workshops","vacation-rental-management","vegetable-farms","vehicle-inspection-testing","vehicle-rental","veterinary-clinics","vintage-shops","vocational-training","warehouse-operators","watch-repair","water-supply-purification","water-vendors","web-design-agencies","wedding-dress-shops","wellness-spas","wholesalers","window-cleaning","wine-bars","wine-shops","yarn-shops","yoga-studios"],O=["athi-river","bomet","bungoma","eastleigh","eldoret","embu","garissa","homa-bay","isiolo","kajiado","kakamega","kapsabet","kericho","kiambu","kilimani","kisii","kisumu","kitale","kitengela","limuru","machakos","makueni","malindi","mandera","maralal","meru","migori","mombasa","murang'a","muranga","mwingi","nairobi","naivasha","nakuru","nanyuki","narok","nyeri","oyugis","rongai","ruiru","siaya-town","thika","timau","voi","wajir","westlands"];new Set(L);const xs=new Set(D);new Set(O);L.length*D.length*O.length;function he(s){const t=L.find(l=>s.startsWith(l+"-for-"));if(!t)return null;const r=s.slice(t.length+5),n=O.find(l=>r.endsWith("-in-"+l));if(!n)return null;const i=r.slice(0,r.length-(n.length+4));return xs.has(i)?{service:t,businessType:i,location:n}:null}const P=s=>s.replace(/-expanded$/,"").replace(/-/g," ").replace(/\b\w/g,t=>t.toUpperCase()),fs={"pos-software":5,"etims-billing":5,"mpesa-payments":4,"mobile-money-agents":3,"inventory-management":3,"customer-management":2,"supplier-management":2,"sales-reporting":2},bs=["supermarket","pharmac","chemist","restaurant","hardware","salon","barber","butcher","baker","agrovet","boutique","cafe","
6wines","spirits","phone-shop","electronics-shop","grocer","hotel","clothing","stationer","bookshop","furniture","liquor","mini-mart","kiosk"],ys=new Set(["nairobi-cbd","mombasa","kisumu","nakuru","eldoret","thika","nyeri","eastleigh","kiambu","ruiru","machakos","kakamega","kisii","naivasha","kitengela","kilimani","rongai","meru","embu","garissa"]);function vs(s){const t=bs.some(n=>s.businessType.includes(n))?3:1,r=ys.has(s.location)?3:1;return(fs[s.service]??1)*t*r}function ue(s){const t=vs(s);return t>=45?1:t>=15?2:3}function ge(){const s=[];for(const t of L)for(const r of D)for(const n of O){const i={service:t,businessType:r,location:n};ue(i)===1&&s.push(i)}return s}const ws="/hero/app-home-dashboard.jpg",A="https://veirahq.com",H="https://app.veirahq.com/signup",oe="https://wa.me/254769551997?text="+encodeURIComponent("Hi Veira, I'd like a free demo for my business."),d=s=>s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),T=s=>/[A-Z]/.test(s.split(" ")[0])?s:s.charAt(0).toUpperCase()+s.slice(1),ks=s=>s.replace(/ies$/,"y").replace(/s$/,""),js=new Set(["pos-software","mpesa-payments","mobile-money-agents","etims-billing"]),$s=(s,t=158)=>s.length<=t?s:s.slice(0,s.lastIndexOf(" ",t)),ie={"pos-software":{label:"POS software",does:"rings up every sale, takes M-Pesa, cash and card, and issues a KRA eTIMS receipt automatically",benefit:"faster checkout and a compliant receipt on every sale",pain:"a slow till, receipts written by hand, and no clean record of the day"},"etims-billing":{label:"eTIMS billing",does:"issues KRA-compliant eTIMS invoices automatically and keeps your records ready for filing",benefit:"no manual invoicing and no last-minute scramble at filing time",pain:"invoices typed one by one on the KRA portal and a scramble every filing deadline"},"mpesa-payments":{label:"M-Pesa payments",does:"accepts and reconciles M-Pesa Buy Goods and Pochi payments against each sale",benefit:"a day that reconciles itself instead of an evening of matching texts",pain:"an evening spent matching M-Pesa texts to sales that should already balance"},"inventory-management":{label:"inventory management",does:"tracks stock, reorder points and what actually sells",benefit:"fewer stock-outs, less dead stock, and theft that shows up",pain:"stock-outs you did not see coming and dead stock you cannot explain"},"supplier-management":{label:"supplier management",does:"tracks suppliers, purchases and credit so your buying side stays in order",benefit:"a clear view of what you owe and what you have bought",pain:"supplier credit and purchases tracked in your head or a worn notebook"},"customer-management":{label:"customer management",does:"keeps customer records, balances and purchase history in one place",benefit:"repeat customers you actually remember and credit you can track",pain:"regulars you cannot quite remember and credit you struggle to chase"},"sales-reporting":{label:"sales reporting",does:"shows daily sales, margins and trends",benefit:"decisions made on real numbers instead of a gut feeling",pain:"guesswork at month end because the numbers live in three different places"},"mobile-money-agents":{label:"mobile money tools",does:"handles float, commissions and records for a mobile money point",benefit:"float you can trust and commissions you can see",pain:"float and commissions you cannot fully account for at the end of the day"}},Ss=[{v:"500+",l:"Kenyan businesses on Veira"},{v:"KRA-aligned",l:"eTIMS, auditor-approved"},{v:"Annual",l:"billing includes the terminal"},{v:"30-day",l:"money-back guarantee"}],Ns=[{href:"/blog/etims-kenya",label:"eTIMS in Kenya: the complete guide"},{href:"/blog/how-to-generate-etims-invoice",label:"How to generate an eTIMS invoice"},{href:"/blog/etims-penalties",label:"eTIMS penalties and how to avoid them"}],Ts=(()=>{const s=new Set(Object.keys(de));for(const t of ge())s.add(`${t.service}-for-${t.businessType}-in-${t.location}`);return s})(),re=s=>Ts.has(s);function Is(s,t){return xe.get(`${s}|${t}`)??[]}const xe=(()=>{const s=new Map;for(const t of ge()){const r=`${t.service}|${t.businessType}`,n=s.get(r);n?n.push(t.location):s.set(r,[t.location])}for(const t of s.values())t.sort();return s}
6)(),Ms=[{name:"Starter",price:"2,999",forWho:"a one or two person shop that mainly needs compliant receipts",has:"eTIMS billing, M-Pesa and one branch"},{name:"Growth",price:"5,999",forWho:"a shop with stock and staff on the floor",has:"up to five users, up to two branches, inventory with low-stock alerts and reports"},{name:"Pro",price:"9,999",forWho:"a busier or multi-branch operation",has:"plain-language answers about your business, unlimited users and remote device management on top of Growth"}],Ps=[["eTIMS invoices","Typed by hand on the KRA portal","Issued, often as a separate step","Automatic on every sale"],["Point of sale","None, you keep a separate till","Limited or none","Full POS with cash, card and M-Pesa"],["M-Pesa","You match the texts yourself","Manual","Buy Goods and Pochi tied to each sale"],["Stock and reports","Spreadsheets, if any","None","Inventory, alerts and reports built in"],["When the network drops","You cannot file","Varies by device","Keeps selling, syncs to KRA later"],["Hardware","Your own device","You buy the device","Terminal included on annual plans"],["What it costs","Free portal, paid in your time","A one-off device cost","From KES 2,999 a month, 30-day money-back"]];function As(s){const t=ie[s.service]||{label:P(s.service),does:"helps you run the business and stay KRA compliant",benefit:"less admin and a compliant business"},r=P(s.businessType),n=r.toLowerCase(),i=ks(n),l=P(s.location),a=`${T(t.label)} for ${r} in ${l}`,h=js.has(s.service)?"Terminal on Annual Plans":"Free Demo",m=`${a} (2026): ${h} | Veira`,b=`${a} (2026) | Veira`,v=m.length<=65?m:b.length<=65?b:`${a} | Veira`,p=`Get your ${i} in ${l} eTIMS-compliant with ${t.label}.`,y="Terminal included on annual plans. From KES 2,999/mo. Book a free demo.",g=" M-Pesa ready, works offline.",$=[`${p}${g} ${y}`,`${p} ${y}`,`${p}${g} From KES 2,999/mo. Book a free demo.`,`${p} From KES 2,999/mo. Book a free demo.`,`${p} From KES 2,999/mo.`,p].find(c=>c.length<=158)||$s(p),I=[{q:`Does Veira work for a ${i} in ${l}?`,a:`Yes. Veira is built for Kenyan businesses like ${n}, and it works anywhere in Kenya, including ${l}. It runs ${t.label} on a Veira terminal or the phone you already own, and keeps selling offline when the network drops.`},{q:"Is Veira KRA eTIMS compliant?",a:`Yes. Every sale issues a compliant KRA eTIMS invoice automatically, with the control number and QR code KRA expects, so a ${i} in ${l} stays compliant without any extra work.`},{q:`How much does Veira cost for a ${i}?`,a:"Veira starts at KES 2,999 a month, and a Veira terminal is included at no extra cost on annual plans. Compare the total against any option, hardware included, and there is a 30-day money-back guarantee."},{q:"Does Veira accept M-Pesa?",a:"Yes. Veira accepts and reconciles M-Pesa Buy Goods and Pochi payments against each sale, alongside cash and card, so your books match what came in."},{q:"Does Veira work when the internet is down?",a:`Yes. Veira keeps selling and issuing receipts offline, then transmits the invoices to KRA when the connection returns, which matters for a ${i} in ${l} where the network is not always steady.`},{q:`How does a ${i} in ${l} get started with Veira?`,a:"Book a free demo on WhatsApp, or have the Veira team set you up. Onboarding takes a weekend, and local support is on hand to help you switch from whatever you use now."}],w=xe.get(`${s.service}|${s.businessType}`)??[],S=w.indexOf(s.location),M=(S>=0&&w.length>1?Array.from({length:Math.min(6,w.length-1)},(c,_)=>w[(S+1+_)%w.length]):[]).filter(c=>re(`${s.service}-for-${s.businessType}-in-${c}`)).map(c=>({href:`/solutions/${s.service}-for-${s.businessType}-in-${c}`,label:`${T(t.label)} for ${r} in ${P(c)}`})),B=L.filter(c=>c!==s.service&&re(`${c}-for-${s.businessType}-in-${s.location}`)).slice(0,4).map(c=>({href:`/solutions/${c}-for-${s.businessType}-in-${s.location}`,label:`${T(ie[c]?.label||P(c))} for ${r} in ${l}`})),j=c=>`<ul class="mt-3 space-y-2">${c.map(_=>`<li><a href="${_.href}" class="text-[#0891b2] underline-offset-4 hover:underline">${d(_.label)}</a></li>`).join("")}</ul>`,o=` 7<main class="mx-auto max-w-3xl px-4 pb-24 pt-8 sm:px-6"> 8 <nav class="text-[13px] text-[#707070]"><a href="/" class="hover:text-[#000000]">Home</a> <span class="text-[#cccccc]">/</span> <a href="/solutions" class="hover:text-[#000000]">Solutions</a> <span class="text-[#cccccc]">/</span> <span class="text-[#333333]">${d(r)}</span></nav> 9 10 <header class="mt-8 grid items-center gap-10 lg:grid-cols-[minmax(0,1fr)_auto] lg:gap-14"> 11 <div class="min-w-0"> 12 <p class="sq-eyebrow" style="font-size:12.5px;letter-spacing:0.16em">Veira for ${d(n)}</p> 13 <h1 class="mt-5 text-balance text-[#000000]" style="font-family:var(--sq-font-display);font-size:var(--sq-type-h1);font-weight:400;letter-spacing:-0.025em;line-height:1.03">${d(a)}</h1> 14 <p class="mt-6 text-[#707070]" style="font-size:var(--sq-type-lede);line-height:1.55;max-width:34em">${d(`${T(t.label)} that ${t.does}, built for ${n} in ${l}. The result is ${t.benefit}. Veira is KRA eTIMS compliant, accepts M-Pesa, works offline, and starts at KES 2,999 a month, with a terminal included on annual plans.`)}</p> 15 <div class="mt-9 flex flex-wrap items-center gap-6"> 16 <a href="${H}" target="_blank" rel="noreferrer noopener" class="inline-flex h-12 items-center rounded-full bg-black px-7 text-[15px] font-medium text-white hover:bg-neutral-800">Start with Veira</a> 17 <a href="${oe}" target="_blank" rel="noreferrer noopener" class="text-[14.5px] text-[#707070] underline decoration-[#cccccc] underline-offset-[6px] hover:text-[#000000] hover:decoration-[#000000]">Talk to us on WhatsApp</a> 18 </div> 19 </div> 20 <div class="relative mx-auto w-full" style="max-width:264px"> 21 <div class="relative overflow-hidden bg-black" style="border-radius:clamp(28px,7%,44px);padding:6px;box-shadow:0 24px 64px -24px rgba(2,8,23,0.45)"> 22 <img src="${ws}" alt="The Veira app showing the day's sales total, recent transactions and current stock levels" width="370" height="800" loading="lazy" decoding="async" class="block h-auto w-full" style="border-radius:clamp(22px,5.5%,38px)" /> 23 </div> 24 </div> 25 </header> 26 27 <section class="mt-12"> 28 <h2 class="text-2xl font-medium tracking-tight text-[#000000]">${d(`The problem a ${i} in ${l} is really solving`)}</h2> 29 <p class="mt-4 leading-relaxed text-[#333333]">${d(`Most ${n} in ${l} are not short of customers. They are short of time at the close, and short of certainty that KRA eTIMS is in order. For a ${i}, the daily friction is ${t.pain}. From January 2026, KRA expects every sale recorded through a compliant system, so getting ${t.label} right is no longer optional. It is how you avoid penalties and keep trading without the month-end stress.`)}</p> 30 </section> 31 32 <section class="mt-12"> 33 <h2 class="text-2xl font-medium tracking-tight text-[#000000]">What you are actually comparing</h2> 34 <p class="mt-4 leading-relaxed text-[#333333]">${d("The real comparison is not one monthly figure against another. It is the total once you add the hardware, a separate till, and the hours you spend reconciling by hand. Choose annual billing and your Veira terminal is included at no extra cost.")}</p> 35 <div class="mt-5 grid gap-4 sm:grid-cols-3"> 36 ${Ms.map(c=>`<div class="rounded-[20px] border border-[#e2e8f0] bg-white p-5"><div class="flex items-baseline justify-between"><div class="text-sm font-semibold text-[#000000]">${d(c.name)}</div><div class="text-sm text-[#707070]">KES ${d(c.price)}/mo</div></div><p class="mt-2 text-[14px] leading-relaxed text-[#707070]">${d(`For ${c.forWho}. Includes ${c.has}.`)}</p></div>`).join("")} 37 </div> 38 <p class="mt-4 text-[15px] leading-relaxed text-[#707070]">
38${d(`There is no free tier and no free trial. Instead every plan is backed by a 30-day money-back guarantee, so you can try Veira in your own ${i} with nothing at risk.`)}</p> 39 <div class="mt-5 flex items-center justify-between gap-4 rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5] p-5 sm:flex-row flex-col"> 40 <p class="text-[14px] leading-relaxed text-[#333333]">${d(`Picked a plan for your ${i}?`)}</p> 41 <a href="${H}" target="_blank" rel="noreferrer noopener" class="inline-flex h-10 shrink-0 items-center gap-1.5 rounded-full bg-black px-5 text-sm font-medium text-white hover:bg-neutral-800">Start with Veira</a> 42 </div> 43 </section> 44 45 <section class="mt-12"> 46 <h2 class="text-2xl font-medium tracking-tight text-[#000000]">${d(`How quickly a ${i} can be live`)}</h2> 47 <p class="mt-4 leading-relaxed text-[#333333]">${d(`You do not need to wait for an engineer to visit. Book a free demo on WhatsApp and the Veira team sets up your account remotely, walking you through your first sales, your eTIMS settings and your M-Pesa reconciliation in ${l}. Most ${n} are up and issuing compliant receipts within days, not weeks.`)}</p> 48 </section> 49 50 <section class="mt-12"> 51 <h2 class="text-2xl font-medium tracking-tight text-[#000000]">${d(`Why ${n} trust Veira`)}</h2> 52 <div class="mt-5 grid grid-cols-2 gap-3 sm:grid-cols-4"> 53 ${Ss.map(c=>`<div class="rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5] p-4"><div class="text-xl font-semibold text-[#000000]">${d(c.v)}</div><div class="mt-1 text-[12px] leading-snug text-[#707070]">${d(c.l)}</div></div>`).join("")} 54 </div> 55 <p class="mt-5 leading-relaxed text-[#333333]">${d(`Veira already runs the counter for more than 500 Kenyan businesses, and the eTIMS records it produces are aligned with what KRA and auditors expect. Choose annual billing and your terminal is included, and every plan is covered by a 30-day money-back guarantee, so the risk of switching sits with us, not with your ${i}.`)}</p> 56 </section> 57 58 <section class="mt-12 rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5]/70 p-6"> 59 <h2 class="text-xl font-medium tracking-tight text-[#000000]">${d(`Which Veira setup fits a ${i}`)}</h2> 60 <p class="mt-3 leading-relaxed text-[#333333]">${d(`Use a simple rule. If it is just you or one other person and you mainly need compliant receipts and clean filing, Starter at KES 2,999 covers ${t.label} and M-Pesa. If you carry stock, have staff on the floor, or take M-Pesa across more than one counter, Growth at KES 5,999 adds up to five users, up to two branches, inventory with low-stock alerts and proper reports. If you run several branches and want plain-language answers about your business, SMS to customers and remote device management, Pro at KES 9,999 builds on Growth. Pay annually on any plan and your Veira terminal is included. When in doubt, start lower and move up the moment the ${i} needs it.`)}</p> 61 </section> 62 63 <section class="mt-12"> 64 <h2 class="text-2xl font-medium tracking-tight text-[#000000]">Manual KRA portal vs a basic eTIMS device vs Veira</h2> 65 <p class="mt-4 leading-relaxed text-[#333333]">${d(`There are three common ways a ${i} in ${l} handles eTIMS today. Here is how they compare on the things that actually take your time.`)}</p> 66 <div class="mt-5 overflow-x-auto rounded-[20px] border border-[#e2e8f0]"> 67 <table class="w-full border-collapse text-left text-[14px]"> 68 <thead><tr class="bg-[#f7f6f5] text-[#000000]"> 69 <th class="px-4 py-3 font-semibold">What matters</th> 70 <th class="px-4 py-3 font-semibold">Manual KRA portal</th> 71 <th class="px-4 py-3 font-semibold">Basic eTIMS device</th> 72 <th class="px-4 py-3 font-semibold">Veira</th> 73 </tr></thead> 74 <tbody class="divide-y divide-[#e2e8f0] text-[#333333]"> 75 ${Ps.map(c=>`<tr><th class="px-4 py-3 text-left font-medium text-[#000000]">${d(c[0])}</th><td class="px-4 py-3">${d(c[1])}</td><td class="px-4 py-3">${d(c[2])}</td><td class="px-4 py-3 font-medium text-[#000000]">${d(c[3])}</td></tr>`).join("")} 76 </tbody> 77 </table> 78 </div> 79 </section> 80 81 <section class="mt-12"> 82 <h2 class="text-2xl font-medium tracking-tight text-[#000000]">Frequently asked questions</h2>
83 <div class="mt-5 divide-y divide-[#e2e8f0] overflow-hidden rounded-[20px] border border-[#e2e8f0]"> 84 ${I.map(c=>`<div class="px-5 py-4"><div class="font-medium text-[#000000]">${d(c.q)}</div><p class="mt-2 text-[15px] leading-relaxed text-[#707070]">${d(c.a)}</p></div>`).join("")} 85 </div> 86 </section> 87 88 <section class="mt-14 rounded-[20px] bg-black p-6 text-white sm:p-8"> 89 <h2 class="text-lg font-semibold text-white">${d(`Your next step for a ${i} in ${l}`)}</h2> 90 <p class="mt-1 max-w-xl text-sm text-[#cccccc]">${d(`See ${t.label} set up for your trade, from KES 2,999 a month with a 30-day money-back guarantee, terminal included on annual plans.`)}</p> 91 <div class="mt-4 flex flex-wrap gap-3"> 92 <a href="${H}" target="_blank" rel="noreferrer noopener" class="inline-flex h-11 items-center rounded-full bg-white px-5 text-sm font-semibold text-black hover:bg-neutral-200">Start with Veira</a> 93 <a href="${oe}" target="_blank" rel="noreferrer noopener" class="inline-flex h-11 items-center rounded-full border border-white/40 bg-white/15 px-5 text-sm font-medium text-white backdrop-blur hover:bg-white/25">Talk to us on WhatsApp</a> 94 </div> 95 </section> 96 97 <section class="mt-12"> 98 <h2 class="text-xl font-medium tracking-tight text-[#000000]">Explore more</h2> 99 <div class="mt-4 grid gap-6 sm:grid-cols-2"> 100 <div class="rounded-[20px] border border-[#e2e8f0] bg-white p-5"><div class="text-sm font-semibold text-[#000000]">eTIMS guides</div>${j(Ns)}</div> 101 <div class="rounded-[20px] border border-[#e2e8f0] bg-white p-5"><div class="text-sm font-semibold text-[#000000]">${d(`${T(t.label)} for ${r} elsewhere`)}</div>${j(M)}</div> 102 <div class="rounded-[20px] border border-[#e2e8f0] bg-white p-5"><div class="text-sm font-semibold text-[#000000]">${d(`More for ${n} in ${l}`)}</div>${j(B)}</div> 103 <div class="rounded-[20px] border border-[#e2e8f0] bg-white p-5"><div class="text-sm font-semibold text-[#000000]">Compare and choose</div>${j([{href:"/blog/best-pos-software-kenya",label:"Best POS systems in Kenya compared"},{href:"/compare#pos-systems",label:"Veira vs Pesapal, Uzapoint and more"},{href:"/etims",label:"eTIMS compliance hub"},{href:"/tools",label:"Free business calculators"}])}</div> 104 </div> 105 </section> 106</main>`.trim(),x=`${A}/solutions/${le(s)}`,fe=[{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:A+"/"},{"@type":"ListItem",position:2,name:"Solutions",item:A+"/solutions"},{"@type":"ListItem",position:3,name:a,item:x}]},{"@context":"https://schema.org","@type":"FAQPage",mainEntity:I.map(c=>
106({"@type":"Question",name:c.q,acceptedAnswer:{"@type":"Answer",text:c.a}}))},{"@context":"https://schema.org","@type":"SoftwareApplication",name:"Veira",applicationCategory:"BusinessApplication",operatingSystem:"Android, Web",description:$,url:A,offers:{"@type":"Offer",price:"2999",priceCurrency:"KES",priceValidUntil:"2026-12-31",availability:"https://schema.org/InStock",url:x}},{"@context":"https://schema.org","@type":"Service",name:a,serviceType:T(t.label),areaServed:{"@type":"Place",name:`${l}, Kenya`},provider:{"@type":"Organization",name:"Veira",url:A},description:$}];return{slug:le(s),title:v,metaDescription:$,h1:a,bodyHtml:o,jsonLd:fe,canonical:x}}const le=s=>`${s.service}-for-${s.businessType}-in-${s.location}`,Ls=[{value:"500+",label:"Kenyan businesses trust Veira"},{value:"KRA-aligned",label:"eTIMS, auditor-approved"},{value:"Free",label:"Veira terminal with every plan"},{value:"30-day",label:"money-back guarantee"}],_s=["etims-kenya","how-to-generate-etims-invoice","etims-penalties"],C="group flex items-center justify-between gap-3 rounded-[20px] border border-[#e2e8f0] px-4 py-3 text-sm transition hover:border-[#cccccc] hover:bg-[#f7f6f5]",K="h-4 w-4 flex-none text-[#707070] transition group-hover:translate-x-0.5 group-hover:text-[#000000]",Vs=s=>s.replace(/-expanded$/,"").replace(/-/g," ").replace(/\b\w/g,t=>t.toUpperCase());function Rs(s){const t=Ue[s.solution],r=We[s.industry],n=s.location?Ge[s.location]:null;return!t||!r?s.slug:`${t.name} for ${r.pluralTitle}${n?` in ${n.name}`:""}`}function Zs(){const{slug:s=""}=Xe(),t=Oe(s);return t?e.jsx(Ks,{resolved:t,slug:s}):he(s)?e.jsx(Cs,{slug:s}):e.jsx(qs,{})}function Cs({slug:s}){const t=he(s),r=As(t),n=ue(t);return G({title:r.title,description:r.metaDescription,keywords:[t.businessType.replace(/-/g," "),t.location.replace(/-/g," "),"Kenya","Veira"],canonical:r.canonical,noindex:n===3,jsonLd:[me,...r.jsonLd]}),e.jsxs("div",{className:"relative min-h-screen overflow-x-hidden text-[#000000] antialiased",children:[e.jsx(U,{}),e.jsx("div",{dangerouslySetInnerHTML:{__html:r.bodyHtml}}),e.jsx(W,{}),e.jsx(ce,{}),e.jsx(pe,{})]})}function Ks({resolved:s,slug:t}){const{page:r,solution:n,industry:i,location:l}=s,a=De(s),h=is(t),m=`https://veirahq.com/solutions/${t}`;G({title:a.metaTitle,description:a.metaDescription,keywords:[a.primaryKeyword,n.keyword,`${i.plural} ${n.noun}`,"Kenya","Veira"],canonical:m,noindex:!r.index,jsonLd:[me,ze({name:a.h1,description:a.metaDescription,about:a.entities}),Je(a.faqs),Qe([{name:"Home",url:"/"},{name:"Solutions",url:"/solutions"},{name:`${n.name} for ${i.pluralTitle}`,url:`/solutions/${F(n.slug,i.slug)}`},...l?[{name:l.name,url:`/solutions/${t}`}]:[]])]});const b=Be(i.slug).filter(o=>o.slug!==t).slice(0,6),v=Ee(n.slug).filter(o=>o.slug!==t).slice(0,8),p=l?X(n.slug,i.slug).filter(o=>o.slug!==t).slice(0,6):X(n.slug,i.slug),y=l?Fe(n.slug,l.slug).filter(o=>o.slug!==t).slice(0,8):[],g=l?`/solutions/${F(n.slug,i.slug)}`:null,Y=l?[]:Is(n.slug,i.slug).map(o=>({slug:He(n.slug,i.slug,o),town:o})).filter(o=>!p.some(x=>x.slug===o.slug)).map(o=>({slug:o.slug,label:`${n.name} for ${i.pluralTitle} in ${Vs(o.town)}`})),$=n.relatedTools.map(o=>Z[o]).filter(Boolean).slice(0,4),I=n.relatedPosts.map(o=>ee[o]).filter(Boolean).slice(0,4),w=n.relatedTerms.map(o=>Ye[o]).filter(Boolean).slice(0,6),S=Z["etims-readiness-checker"],z=_s.map(o=>ee[o]).filter(Boolean),M=F("etims-billing",i.slug),B=M!==t?de[M]:void 0,j=[{id:"what",label:a.whatItDoes.heading},{id:"industry",label:"Built for the trade"},...a.locationInsights?[{id:"location",label:a.locationInsights.heading}]:[],{id:"recommend",label:"What to look for"},{id:"compare",label:"How it compares"},{id:"example",label:a.example.heading},{id:"faq",label:"Frequently asked questions"}];return e.jsxs("div",{className:"relative min-h-screen overflow-x-hidden text-[#000000] antialiased",children:[e.jsx(ke,{}),e.jsx(U,{}),e.jsx("main",{className:"mx-auto max-w-[72rem] px-4 sm:px-6 lg:px-8 pt-10 pb-24",children:e.jsxs("div",{className:"grid grid-cols-1 gap-x-16 lg:grid-cols-[minmax(0,44rem)_15rem] lg:justify-center",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("nav",{className:"text-[11px] uppercase tracking-[0.22em] text-[#707070]",children:[e.jsx(u,{to:"/",className:"hover:text-[#000000]",children:"Home"}),e.jsx("span",{className:"mx-2 text-[#707070]",children:"/"}),e.jsx(u,{to:"/solutions",className:"hover:text-[#000000]",children:"Solutions"}),l&&g&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"mx-2 text-[#707070]",children:"/"}),e.jsx(u,{to:g,className:"hover:text-[#000000]",children:i.pluralTitle})]})]}),e.jsx(gs,{variant:h,eyebrow:[n.titleName,i.pluralTitle,l?.name].filter(
106Boolean).join(" · "),h1:a.h1,intro:a.intro,solutionSlug:n.slug,scenario:a.keyTakeaways[0],byline:e.jsxs(e.Fragment,{children:[e.jsx("strong",{className:"text-[color:var(--sq-ink)]",children:a.author})," · ","Published ",se(a.datePublished)," · ","Updated ",se(a.lastUpdated)]}),cta:e.jsx(E,{text:`Already know ${n.name.toLowerCase()} is what you need?`})}),e.jsx("div",{className:"mt-6 lg:hidden",children:e.jsx(je,{url:m,title:a.h1})}),e.jsx("div",{className:"mt-16",children:e.jsx(J,{items:a.keyTakeaways})}),e.jsx("div",{className:"mt-6",children:e.jsx($e,{stats:a.stats})}),e.jsx("div",{className:"mt-6",children:e.jsx(Se,{stats:Ls})}),e.jsxs("details",{className:"group mt-8 rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5]/70 p-5 lg:hidden",children:[e.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between text-[11px] font-medium uppercase tracking-[0.22em] text-[#707070]",children:["On this page",e.jsx("span",{className:"text-[#707070] transition group-open:rotate-180",children:"â¾"})]}),e.jsx("ol",{className:"mt-3 space-y-1.5 text-sm text-[#333333]",children:j.map(o=>e.jsx("li",{children:e.jsx("a",{href:"#"+o.id,className:"hover:text-[#000000] hover:underline underline-offset-4",children:o.label})},o.id))})]}),e.jsxs("article",{className:"mt-12 space-y-14",children:[e.jsx(k,{id:"what",heading:a.whatItDoes.heading,children:a.whatItDoes.paragraphs.map((o,x)=>e.jsx(N,{children:o},x))}),e.jsxs(k,{id:"industry",heading:a.industryInsights.heading,children:[e.jsx(N,{children:a.industryInsights.intro}),e.jsx(Ne,{items:a.industryInsights.items})]}),a.locationInsights&&e.jsx(k,{id:"location",heading:a.locationInsights.heading,children:a.locationInsights.paragraphs.map((o,x)=>e.jsx(N,{children:o},x))}),e.jsx(k,{id:"recommend",heading:a.recommendations.heading,children:e.jsx(J,{items:a.recommendations.items})}),e.jsx(E,{text:`Ready to run ${n.name.toLowerCase()} like this for your ${i.name.toLowerCase()}?`}),e.jsx(k,{id:"compare",heading:a.comparison.heading,children:e.jsx(Te,{columns:a.comparison.columns,rows:a.comparison.rows})}),e.jsxs(k,{id:"example",heading:a.example.heading,children:[a.example.paragraphs.map((o,x)=>e.jsx(N,{children:o},x)),e.jsx("div",{className:"mt-5",children:e.jsx(Ie,{before:a.caseStudy.before,after:a.caseStudy.after,result:a.caseStudy.result})})]}),$.length>0&&e.jsx(Me,{tools:$.map(o=>({slug:o.slug,h1:o.h1}))}),e.jsxs("section",{className:"rounded-[20px] border border-[#e2e8f0] bg-white p-6",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.22em] text-[#707070]",children:[e.jsx(as,{className:"h-3.5 w-3.5"})," Stay eTIMS compliant"]}),e.jsxs(N,{children:["Every sale on Veira files a compliant KRA eTIMS invoice, online or offline. ",i.complianceNote]}),e.jsxs("div",{className:"mt-4 grid gap-2.5 sm:grid-cols-2",children:[B&&e.jsxs(u,{to:`/solutions/${M}`,className:C,children:[e.jsxs("span",{className:"font-medium text-[#000000]",children:["eTIMS billing for ",i.plural]}),e.jsx(f,{className:K})]}),z.map(o=>e.jsxs(u,{to:`/blog/${o.slug}`,className:C,children:[e.jsx("span",{className:"font-medium text-[#000000]",children:o.title}),e.jsx(f,{className:K})]},o.slug)),S&&e.jsxs(u,{to:`/tools/${S.slug}`,className:C,children:[e.jsx("span",{className:"font-medium text-[#000000]",children:S.h1}),e.jsx(f,{className:K})]}),e.jsxs(u,{to:"/blog/etims",className:C,children:[e.jsx("span",{className:"font-medium text-[#000000]",children:"All eTIMS guides and updates"}),e.jsx(f,{className:K})]})]})]}),e.jsxs("figure",{className:"overflow-hidden rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5]",children:[e.jsx("img",{src:Pe,alt:`The Veira terminal running ${n.name.toLowerCase()} for a ${i.name.toLowerCase()}`,loading:"lazy",className:"w-full object-cover"}),e.jsx("figcaption",{className:"px-5 py-3 text-[12.5px] text-[#707070]",children:"The Veira terminal: sell, take M-Pesa Buy Goods and Pochi, and file eTIMS from one device. Included on annual billing."})]}),e.jsxs(Ae,{children:[e.jsxs(N,{children:[n.does," Here is what that looks like with Veira:"]}),e.jsx(Le,{items:n.valueProps})]}),e.jsx(E,{text:"Seen enough to get started?"}),a.relatedQuestions.length>0&&e.jsx(k,{heading:"Related questions",children:e.jsx("div",{className:"grid gap-3",children:a.relatedQuestions.map(o=>e.jsxs(u,{to:`/answers/${o.slug}`,className:"group block rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5]/50 p-4 transition hover:border-[#cccccc] hover:bg-[#f7f6f5]",children:[e.jsx("div",{className:"text-[14px] font-medium leading-snug text-[#000000] group-hover:text-[#000000]",children:o.question}),e.jsxs("div",{className:"mt-2 inline-flex items-center gap-1 text-[12px] text-[#707070] group-hover:text-[#333333]",children:["View answer ",e.jsx(f,{className:"h-3 w-3"})]})]},o.slug))})}),e.jsx(k,{id:"faq",heading:"Frequently asked questions",children:e.jsx(_e,{faqs:a.faqs})}),e.jsxs("div",{className:"rounded-[20px] border border-[#e2e8f0] bg-[#f7f6f5] p-6 text-sm text-[#333333]",children:[e.jsx("div",{className:"font-medium text-[#000000]",children:"Expert sourcing"}),e.jsx("p",{className:"mt-2",children:a.expertContext})]}),e.jsx(Ve,{text:a.closing,primaryHref:Re,platformAware:!0,secondaryTo:"/tools",secondaryLabel:"Try the free tools",whatsappHelpHref:Ce(a.h1)})]}),e.jsx(q,{title:l?`${n.titleName} for ${i.pluralTitle} in other towns`:`${n.titleName} for ${i.pluralTitle} near you`,icon:e.jsx(Ke,{className:"h-3.5 w-3.5"}),pages:p,extraLinks:Y,backHref:g,backLabel:g?`${n.name} for ${i.pluralTitle} in Kenya`:null}),l&&e.jsx(q,{title:`${n.titleName} for other trades in ${l.name}`,icon:e.jsx(Q,{className:"h-3.5 w-3.5"}),pages:y}),e.jsx(q,{title:`Other software for ${i.plural}`,icon:e.jsx(Q,{className:"h-3.5 w-3.5"}),pages:b}),e.jsx(q,{title:`${n.titleName} for other trades`,icon:e.jsx(es,{className:"h-3.5 w-3.5"}),pages:v}),w.length>0&&e.jsxs("section",{className:"mt-14",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.22em] text-[#707070]",children:[e.jsx(ss,{className:"h-3.5 w-3.5"})," Terms explained"]}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:w.map(o=>e.jsx(u,{to:`/glossary/${o.slug}`,className:"rounded-full border border-[#e2e8f0] bg-white px-3 py-1.5 text-xs text-[#333333] transition hover:border-[#cccccc] hover:bg-[#f7f6f5]",children:o.term},o.slug))})]}),I.length>0&&e.jsxs("section",{className:"mt-14",children:[e.jsx("h2",{className:"text-sm font-medium uppercase tracking-[0.25em] text-[#000000]",children:"Read more"}),e.jsx("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:I.map(o=>e.jsxs(u,{to:`/blog/${o.slug}`,className:"group block rounded-[20px] border border-[#e2e8f0] bg-white p-5 transition hover:-translate-y-0.5 hover:border-[#cccccc] hover:shadow-[0_24px_50px_-34px_rgba(15,23,42,0.5)]",children:[e.jsxs("div",{className:"text-[11px] uppercase tracking-[0.2em] text-[#707070]",children:[o.readTime," min read"]}),e.jsx("div",{className:"mt-2 text-[15px] font-medium leading-snug text-[#000000]",children:o.title}),e.jsxs("div",{className:"mt-2 inline-flex items-center gap-1 text-xs text-[#707070] group-hover:text-[#000000]",children:["Read ",e.jsx(f,{className:"h-3 w-3"})]})]},o.slug))})]})]}),e.jsx("div",{className:"hidden lg:block",children:e.jsx(qe,{items:j,shareUrl:m,shareTitle:a.h1})})]})}),e.jsx(W,{}),e.jsx(ce,{}),e.jsx(pe,{})]})}function q({title:s,icon:t,pages:r,extraLinks:n,backHref:i,backLabel:l}){const a=n??[];return!r.length&&!a.length&&!i?null:e.jsxs("section",{className:"mt-14",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-medium uppercase tracking-[0.22em] text-[#707070]",children:[t," ",s]}),e.jsxs("div",{className:"mt-4 grid gap-2.5 sm:grid-cols-2",children:[i&&l&&e.jsxs(u,{to:i,className:"group flex items-center justify-between rounded-[20px] border border-[#cccccc] bg-[#f7f6f5] px-4 py-3 text-sm transition hover:bg-[#f7f6f5]",children:[e.jsx("span",{className:"font-medium text-[#000000]",children:l}),e.jsx(f,{className:"h-4 w-4 text-[#707070] transition group-hover:translate-x-0.5 group-hover:text-[#000000]"})]}),r.map(h=>e.jsxs(u,{to:`/solutions/${h.slug}`,className:"group flex items-center justify-between rounded-[20px] border border-[#e2e8f0] px-4 py-3 text-sm transition hover:border-[#cccccc] hover:bg-[#f7f6f5]",children:[e.jsx("span",{className:"font-medium text-[#000000]",children:Rs(h
106)}),e.jsx(f,{className:"h-4 w-4 text-[#707070] transition group-hover:translate-x-0.5 group-hover:text-[#000000]"})]},h.slug)),a.map(h=>e.jsxs(u,{to:`/solutions/${h.slug}`,className:"group flex items-center justify-between rounded-[20px] border border-[#e2e8f0] px-4 py-3 text-sm transition hover:border-[#cccccc] hover:bg-[#f7f6f5]",children:[e.jsx("span",{className:"font-medium text-[#000000]",children:h.label}),e.jsx(f,{className:"h-4 w-4 text-[#707070] transition group-hover:translate-x-0.5 group-hover:text-[#000000]"})]},h.slug))]})]})}function qs(){return G({title:"Solution not found · Veira",description:"That solution page is not available.",noindex:!0}),e.jsxs("div",{className:"min-h-screen",children:[e.jsx(U,{}),e.jsxs("main",{className:"mx-auto max-w-3xl px-6 py-24 text-center",children:[e.jsx("h1",{className:"text-3xl font-medium tracking-tight text-[#000000]",children:"That page is not here."}),e.jsx("p",{className:"mt-3 text-[#707070]",children:"Browse Veira solutions by industry and town."}),e.jsxs(u,{to:"/solutions",className:"mt-6 inline-flex h-11 items-center gap-2 rounded-[20px] bg-[#000000] px-5 text-sm text-white",children:["See all solutions ",e.jsx(f,{className:"h-4 w-4"})]})]}),e.jsx(W,{})]})}export{Zs 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.