PageSourceSearch

https://laundryverse.app/help/assets/js/b5a16f98.45dd8ce1.js

js laundryverse.app collected 2026-10-02 01:16:31 UTC 13,617 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunk_laundryverse_help=globalThis.webpackChunk_laundryverse_help||[]).push([[8753],{6151(e,t,n){n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>l});const s=JSON.parse('{"id":"getting-started/pos-setup","title":"Setting Up the POS","description":"Before your staff can take orders, you need to set up at least one POS device. This guide walks you through generating a store code, activating a device, logging in with a PIN, and opening your first shift.","source":"@site/docs/getting-started/pos-setup.md","sourceDirName":"getting-started","slug":"/getting-started/pos-setup","permalink":"/help/getting-started/pos-setup","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":3,"frontMatter":{"sidebar_position":3,"title":"Setting Up the POS","image":"/help/img/og/getting-started/pos-setup.png"},"sidebar":"helpSidebar","previous":{"title":"Importing from Loyverse","permalink":"/help/getting-started/loyverse-import"},"next":{"title":"Setting Up Stations","permalink":"/help/getting-started/stations-setup"}}');var i=n(8525),r=n(9592);const o={sidebar_position:3,title:"Setting Up the POS",image:"/help/img/og/getting-started/pos-setup.png"},a="Setting Up the POS",d={},l=[{value:"1. Generate a Store Code",id:"1-generate-a-store-code",level:2},{value:"2. Install the App",id:"2-install-the-app",level:2},{value:"Android tablet or phone (Recommended)",id:"android-tablet-or-phone-recommended",level:3},{value:"iPad or Safari (Install as PWA)",id:"ipad-or-safari-install-as-pwa",level:3},{value:"Other browsers (web fallback)",id:"other-browsers-web-fallback",level:3},{value:"3. Activate the Device",id:"3-activate-the-device",level:2},{value:"Option A: Scan the QR Code",id:"option-a-scan-the-qr-code",level:3},{value:"Option B: Enter the Store Code",id:"option-b-enter-the-store-code",level:3},{value:"4. Log In with a PIN",id:"4-log-in-with-a-pin",level:2},{value:"5. Open a Shift",id:"5-open-a-shift",level:2},{value:"Managing Devices",id:"managing-devices",level:2},{value:"What's Next?",id:"whats-next",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components},{HelpVideo:s,TabletMockup:o}=t;return s||p("HelpVideo",!0),o||p("TabletMockup",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"setting-up-the-pos",children:"Setting Up the POS"})}),"\n",(0,i.jsx)(t.p,{children:"Before your staff can take orders, you need to set up at least one POS device. This guide walks you through generating a store code, activating a device, logging in with a PIN, and opening your first shift."}),"\n",(0,i.jsx)(s,{src:"/video/getting-started/pos-setup.mp4",poster:"/video/getting-started/pos-setup.jpg",alt:"Setting up the POS walkthrough"}),"\n",(0,i.jsx)(t.admonition,{title:"Full walkthrough",type:"tip",children:(0,i.jsxs)(t.p,{children:["Want the end-to-end version? ",(0,i.jsx)(t.a,{href:"https://www.youtube.com/watch?v=Jku4qNrwcts",children:"Watch the 10-minute real-shop walkthrough"}),", covers POS setup, your first order, Stations, and closing the shift, all recorded in an actual laundry shop."]})}),"\n",(0,i.jsx)(t.h2,{id:"1-generate-a-store-code",children:"1. Generate a Store Code"}),"\n",(0,i.jsxs)(t.p,{children:["From the admin dashboard, go to ",(0,i.jsx)(t.strong,{children:"Operations > Devices"})," and click the ",(0,i.jsx)(t.strong,{children:"POS Links"})," button. This opens a dialog showing each of your stores with:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["A ",(0,i.jsx)(t.strong,{children:"6-character store code"})," (e.g., ",(0,i.jsx)(t.code,{children:"QIE23X"}),")"]}),"\n",(0,i.jsxs)(t.li,{children:["A ",(0,i.jsx)(t.strong,{children:"QR code"})," that employees can scan"]}),"\n",(0,i.jsxs)(t.li,{children:["A ",(0,i.jsx)(t.strong,{children:"copy-able link"})," to the POS login page"]}),"\n"]}),"\n",(0,i.jsx)(o,{src:"/img/getting-started/devices-pos-links.png",alt:"POS Links dialog with QR codes"}),"\n",(0,i.jsxs)(t.p,{children:["If a store doesn't have a code yet, click ",(0,i.jsx)(t.strong,{children:"Generate Code"})," to create one. You can also regenerate a code at any time \u2014 this invali
1dates the old code for security."]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"Print the QR code and tape it near the POS tablet. Employees can scan it with the device's camera to jump straight to the login screen."})}),"\n",(0,i.jsx)(t.h2,{id:"2-install-the-app",children:"2. Install the App"}),"\n",(0,i.jsx)(t.p,{children:"Install LaundryVerse on the device before entering the store code. The install path depends on the device:"}),"\n",(0,i.jsx)(t.h3,{id:"android-tablet-or-phone-recommended",children:"Android tablet or phone (Recommended)"}),"\n",(0,i.jsx)(t.p,{children:"The native LaundryVerse POS Android app is on the Play Store:"}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"https://play.google.com/store/apps/details?id=app.laundryverse.pos",children:"Download LaundryVerse POS on Google Play \u2192"})})}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Open the Play Store on the device and search for ",(0,i.jsx)(t.strong,{children:"LaundryVerse POS"})," (or use the link above)"]}),"\n",(0,i.jsxs)(t.li,{children:["Tap ",(0,i.jsx)(t.strong,{children:"Install"})," and wait for the download to finish"]}),"\n",(0,i.jsx)(t.li,{children:"Open the app \u2014 you'll land directly on the store code entry screen"}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"QR shortcut",type:"tip",children:(0,i.jsxs)(t.p,{children:["Once installed, scanning the store-code QR (from the ",(0,i.jsx)(t.strong,{children:"Devices > POS Links"})," dialog) with the phone camera opens the app directly \u2014 no browser tab in between. The Android app is registered as the official handler for ",(0,i.jsx)(t.code,{children:"laundryverse.app/pos"})," URLs."]})}),"\n",(0,i.jsx)(t.h3,{id:"ipad-or-safari-install-as-pwa",children:"iPad or Safari (Install as PWA)"}),"\n",(0,i.jsx)(t.p,{children:"Apple doesn't allow third-party app stores, so on iPad you install LaundryVerse as a Progressive Web App (PWA) \u2014 same full-screen experience, just a different install path:"}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["Open ",(0,i.jsx)(t.strong,{children:"laundryverse.app/pos"})," in Safari"]}),"\n",(0,i.jsxs)(t.li,{children:["Tap the ",(0,i.jsx)(t.strong,{children:"Share"})," button (square with arrow)"]}),"\n",(0,i.jsxs)(t.li,{children:["Scroll down and tap ",(0,i.jsx)(t.strong,{children:'"Add to Home Screen"'})]}),"\n",(0,i.jsxs)(t.li,{children:["Tap ",(0,i.jsx)(t.strong,{children:"Add"})," to confirm"]}),"\n"]}),"\n",(0,i.jsx)(t.p,{children:"The app icon appears on the home screen. Open it from there for all future sessions."}),"\n",(0,i.jsx)(t.h3,{id:"other-browsers-web-fallback",children:"Other browsers (web fallback)"}),"\n",(0,i.jsxs)(t.p,{children:["If you can't install the app (e.g., a desktop machine for demoing the flow), ",(0,i.jsx)(t.code,{children:"laundryverse.app/pos"})," works directly in any modern browser. On Chrome you can also install it as a PWA from the three-dot menu \u2192 ",(0,i.jsx)(t.strong,{children:'"Install app"'})," \u2014 same full-screen experience as iPad."]}),"\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.img,{alt:"Install app banner on the POS login screen",src:n(3522).A+"",width:"2400",height:"1600"})}),"\n",(0,i.jsx)(t.h2,{id:"3-activate-the-device",children:"3. Activate the Device"}),"\n",(0,i.jsxs)(t.p,{children:["With the app installed and open (or ",(0,i.jsx)(t.code,{children:"laundryverse.app/pos"})," loaded in the browser fallback), connect the device to your store. There are two ways:"]}),"\n",(0,i.jsx)(t.h3,{id:"option-a-scan-the-qr-code",children:"Option A: Scan the QR Code"}),"\n",(0,i.jsxs)(t.p,{children:["Use the device camera to scan the QR code from the ",(0,i.jsx)(t.strong,{children:"POS Links"})," dialog. On Android with the app installed, this opens the app directly to the PIN login screen."]}),"\n",(0,i.jsx)(t.h3,{id:"option-b-enter-the-store-code",children:"Option B: Enter the Store Code"}),"\n",(0,i.jsxs)(t.p,{children:["Enter the 6-character store code from the ",(0,i.jsx)(t.strong,{children:"POS Links"})," dialog and tap ",(0,i.jsx)(t.strong,{children:"Continue"}),". The device connects to your store and shows the PIN login screen."]}),"\n",(0,i.jsx)(o,{src:"/img/getting-started/pos-store-code.png",alt:"Store code entry screen"}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"The device remembers the store after the first login. Returning employees will skip the store code step and go straight to PIN entry."})}),"\n",(0,i.jsx)(t.h2,{id:"4-log-in-with-a-pin",children:"4. Log In with a PIN"}),"\n",(0,i.jsxs)(t.p,{children:["Each employee has a unique 4-digit PIN (set up in ",(0,i.jsx)(t.strong,{children:"Dashboard > Employees"}),"). Enter the PIN on the keypad \u2014 it auto-submits after the 4th digit."]}),"\n",(0,i.jsx)(o,{src:"/img/getting-started/pos-pin-login.png",alt:"PIN entry screen"}),"\n",(0,i.jsxs)(t.p,{children:["The device auto-registers on first login and appears in your ",(0,i.jsx)(t.strong,{children:"Devices"})," table on the dashboard. There's no manual device setup needed \u2014 just scan and log in."]}),"\n",(0,i.jsx)(t.admonition,{title:"Device limits",type:"note",children:(0,i.jsxs)(t.p,{children:["The number of POS devices you can register depends on your subscription plan. If you hit the limit, deactivate unused devices from ",(0,i.jsx)(t.strong,{children:"Dashboard > Devices"})," or upgrade your plan."]})}),"\n",(0,i.jsx)(t.h2,{id:"5-open-a-shift",children:"5. Open a Shift"}),"\n",(0,i.jsxs)(t.p,{children:["After logging in, you'll be prompted to open a shift if one isn't already active. Enter the ",(0,i.jsx)(t.strong,{children:"starting cash"})," in the drawer (or leave it at 0) and tap ",(0,i.jsx)(t.strong,{children:"Open Shift"}),"."]}
1),"\n",(0,i.jsx)(o,{src:"/img/getting-started/pos-shift-open.png",alt:"Open shift screen"}),"\n",(0,i.jsx)(t.p,{children:"Shifts track all cash transactions during the work period. When the shift ends, the closing employee counts the drawer and records the amount \u2014 LaundryVerse calculates any discrepancies automatically."}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsxs)(t.p,{children:["If you configured ",(0,i.jsx)(t.a,{href:"/help/getting-started/printer-setup",children:"cash drawer automation"}),", the drawer can open automatically when a shift starts \u2014 before or after entering the starting cash amount."]})}),"\n",(0,i.jsx)(t.h2,{id:"managing-devices",children:"Managing Devices"}),"\n",(0,i.jsxs)(t.p,{children:["From ",(0,i.jsx)(t.strong,{children:"Dashboard > Devices"}),", you can:"]}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Action"}),(0,i.jsx)(t.th,{children:"How"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"View all devices"})}),(0,i.jsx)(t.td,{children:"POS and Station devices are listed in separate tables"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Deactivate a device"})}),(0,i.jsx)(t.td,{children:"Toggle the Active switch off \u2014 the employee can no longer log in on that device"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Delete a device"})}),(0,i.jsx)(t.td,{children:"Click the delete action \u2014 the store code regenerates automatically for security"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.strong,{children:"Configure printer"})}),(0,i.jsx)(t.td,{children:"Click the printer icon to set paper width, auto-print, and cash drawer settings per device"})]})]})]}),"\n",(0,i.jsx)(o,{src:"/img/getting-started/devices-page.png",alt:"Devices management page"}),"\n",(0,i.jsx)(t.h2,{id:"whats-next",children:"What's Next?"}),"\n",(0,i.jsx)(t.p,{children:"Your POS device is activated and ready. Continue with the setup:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"/help/getting-started/printer-setup",children:(0,i.jsx)(t.strong,{children:"Set up the printer & cash drawer"})})," \u2014 Connect a receipt printer for this device"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"/help/getting-started/first-order",children:(0,i.jsx)(t.strong,{children:"Create your first order"})})," \u2014 Walk through the full order flow"]}),"\n"]})]})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}function p(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},3522(e,t,n){n.d(t,{A:()=>s});const s=n.p+"assets/images/pos-install-banner-4d8abc9003b9ae154473052248342e98.png"},9592(e,t,n){n.d(t,{R:()=>o,x:()=>a});var s=n(9081);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]);

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.