Every feature, end-to-end

Everything an optical store actually needs.

No six-vendor toolchain. No zapier glue. Every capability below is shipped, tested, and multi-tenant-safe — already running in production stores.

Retail floor

POS & checkout

Barcode scan, splits, EMI/BNPL, Rx attachment, draft & recall.

Native ESC/POS printing

One-tap silent printing to WebUSB, LAN (TCP) or Bluetooth thermal printers, with cash-drawer kick. PDF + email fallback via Resend.

Shifts · X/Z reports

Open/close shifts, cashier PIN switch, X/Z audits, float reconciliation.

Returns & exchanges

Partial returns, restocking fees, store credit issuance.

Quick-Create walk-ins

Inline patient registration at the till — capture name, phone, Rx in 5 seconds without leaving the sale.

Patient Storefront (customer-facing website)

White-label chain + per-branch landings

Public pages at opticpos.com/s/<your-chain> and /s/<your-chain>/<branch>. Each branch inherits the chain look-and-feel but can override hero, hours, address, and photos — one chain, many locations, zero duplication.

Super-Admin Storefront Builder

A GUI at /admin/storefront to edit everything on the public site: hero slides, services, FAQs, theme accent, hours, photos. No code, no CSS. Separate tabs for chain-wide defaults vs. per-branch overrides.

Draft → Preview → Publish workflow

Every change saves to a DRAFT first. Preview the exact DRAFT page via a tokenised link, see a side-by-side DIFF of what you're about to publish, and only promote when you're ready. Tabs with unsaved changes stay highlighted so you never lose a tweak.

Scheduled hero carousels

Up to 5 rotating hero slides per storefront, each with optional starts_at / ends_at dates. Launch a Diwali hero on Oct 29 and auto-retire it on Nov 5 — the site switches itself.

FAQ accordion + announcement banner

Pin up to 10 Q&A pairs and a top-of-page promo strip (e.g. "20% off all frames this weekend"). FAQs double as Google-indexable FAQPage structured data.

Day-by-day business hours

Mon–Sun open/close pickers that render on the landing AND feed Google's OpeningHoursSpecification JSON-LD, so your store hours show up directly in search snippets.

Leaflet branch map + find-a-store search

Interactive map pin for every branch. 20+ pins auto-cluster so dense cities stay readable. Visitors can type a postcode or neighbourhood — Nominatim geocodes it and the map ranks the 3 nearest stores by great-circle distance.

Patient OTP accounts

Visitors sign in via email + 6-digit OTP (zero passwords). Each tenant owns its own patient-visitor list — fully isolated from your staff user table.

Saved Frames (customer bookmarks)

Logged-in visitors can bookmark frames they like and come back to them later — a tiny loyalty hook that bumps repeat visit rates.

Patient Rx History in the portal

Once staff links an online account to a patient record, that patient sees every past Rx, order and visit from their phone — reducing phone calls to the store.

Online booking → one-click Convert to Patient

Visitors book an eye exam from the website. Staff see a live badge in the sidebar, filter the pending queue, and convert the booking into a real patient chart with ONE click — email, phone and consent flow through automatically.

SEO baked-in

Per-tenant sitemap.xml, robots.txt, canonical URLs, OpenGraph tags, and schema.org JSON-LD (Optician + BreadcrumbList + FAQPage + OpeningHours + GeoCoordinates). Your storefront is Google-ready from day one — capped at 45,000 URLs with priority-ordered emission so even a 500-store chain fits comfortably.

Branding + WhatsApp deep-link

Per-tenant logo, accent colour, tagline and one-tap WhatsApp button rendered on every page — feels like your storefront, not a SaaS template.

Enquiry inbox

Customers tap "Enquire" → captured in your CRM inbox with the product, customer phone, and any notes. Hand off to WhatsApp follow-up.

Clinical Rx

Patient records

History, Rx, preferences, consent ledger (DPDP-ready).

Prescription capture

Sphere · Cyl · Axis · Add · PD, multi-Rx timeline per patient.

Appointments

Slot picker, reminders, no-show flagging.

Lab job-card workflow

Booked → ordered → fitting → QC → ready → delivered, with 10-item QC checklist and auto-remake routing.

Doctor / optometrist workspace

A dedicated clinical view at /doctor — today's appointments, draft exams, recent patients, "Start new exam" CTA. Zero POS / inventory noise. Owner-optometrists can toggle between clinical and store workspace in one click.

Patient QR & printable ID card

Every patient gets a permanent QR code (P-XXXX-YYYYMM-NNNN) and a wallet-sized printable card. Scan at the till for instant lookup; hand to the customer as a loyalty memento.

Eye-test rebate wallet

Paid eye-tests automatically mint a 45-day wallet credit (tenant-configurable expiry). Cashier can redeem against the customer’s next spectacle purchase — a built-in retention loop, no marketing add-on needed.

Contact lens store

Contact lens inventory

Every SKU tracked with brand, modality (daily / bi-weekly / monthly / yearly), material, base curve, diameter and power. Multi-variant support — one brand can hold hundreds of powers, all stocked and priced per store.

CL prescription capture

Purpose-built OD/OS form for sphere, cylinder, axis, ADD, base curve and diameter. Auto-copies from the last spectacle Rx where clinical values match — no double entry.

CL checkout & stock deduction

One-tap add-to-cart from a patient's active CL Rx. Stock drops automatically at the variant level, so a "-1.50 blue tone" order never eats into your "-2.00 clear" pile.

Trial dispense & auto-convert

Give free trial pairs from a dedicated bucket, log fit assessment, and when the customer pays for their first order, the trial is auto-converted so nothing gets double-counted.

Replacement reminders

The system tracks how long each patient's current supply should last and nudges them via WhatsApp / email a week before it runs out. Built-in retention loop for a supply-driven category.

CL dashboard tile

Low-stock variants, top movers by modality, trial-to-paid conversion rate — a single tile on the owner dashboard, no separate reports app.

Inventory & catalog

SKU master

Barcodes, variants, tax rates, HSN codes, vendor links.

Multi-store stock

Per-store levels, transfers, reserved quantities on drafts.

Multi-vendor catalog sync

Live feeds from regional and global vendor catalogs — automatic currency conversion (USD → INR), wholesale prices, stock, images. New vendor adapters added in days. Large vendor feeds refresh automatically overnight so your morning starts with today's prices.

Non-blocking bulk sync

Refreshing prices, cost and stock for thousands of vendor-linked frames used to freeze the screen. Now it runs in the background with a live "N/M" progress counter — keep working while it catches up.

Vendor CDN cloaking (image proxy)

Every vendor image served through a tokenised proxy — your customers never see the upstream supplier CDN in DevTools.

Vendor SKU masking

Raw supplier codes auto-rewritten with your own store prefix so customers can't reverse-engineer your supply chain.

Overnight photo studio

Cashier snaps a frame, keeps ringing sales. Between 11 PM and 5 AM the platform runs the shot through a professional background remover, grades the result for quality, and drops the winners into a morning review inbox for one-tap approval. Failures come back with a reason so staff know exactly what to reshoot.

AI catalog import from PDFs

Upload a supplier PDF or slide deck — the platform scans every page overnight, isolates each frame photo, reads the SKU / brand / price, and hands you a preview grid the next morning. No manual data entry, no page-by-page slogging.

AI tag review inbox

Queue every un-tagged frame in your catalog for AI tagging (shape, material, color family, style, gender, face-shape fit). High-confidence tags apply automatically; borderline ones land in a review inbox where staff approve, tweak, or reject in seconds. Zero blocking waits.

Barcode & QR labels

Built-in label sheet designer — print SKU barcodes or shelf-edge QR codes on standard A4 sheets.

Mobile camera capture w/ crop

Snap inventory frames on iPad, iPhone or Android — pinch to zoom, drag to crop, white-background auto-validation. Photo Cleanup admin tool spots legacy frames that need a reshoot.

Dead Stock Recovery

Owner dashboard surfaces frames sitting on the shelf > 90 days (configurable). Ranks by tied-up capital so you mark down the worst offenders first.

Analytics

Dashboard

Customizable widgets, per-user layouts, goal tracking.

Product mix & heatmap

Top frames, slowest movers, hour-of-day revenue heat.

CAC & retention

First-purchase cost, repeat-visit curves, cohort drill-down.

Supplier profitability

Per-vendor revenue, cost, margin and margin-percent over any window. Decide which vendors deserve your reorder budget.

Scheduled digests

Daily / weekly P&L summaries emailed via Resend on server-side cron.

Billing & multi-tenant ops

Razorpay subscriptions

Starter and Pro plans billed monthly via Razorpay. Plan limits (stores, users, AI credits) enforced server-side across every API.

Super-Admin console

Manage every tenant from one screen — change plans, suspend, audit, impersonate, view payment history.

Per-tenant isolation

Hard tenant boundary on every collection. Cross-tenant reads return 404 by design, never 403.

Security & compliance

2FA + idle lock

TOTP authenticator (Google Authenticator / Authy), auto-lock on inactivity, cashier PIN switch.

PWA + Remember Me

Installable PWA with 30-day Remember-Me sessions and 12-hour inactivity auto-logout for safe in-store use.

Backup / restore

JSON tenant dump, point-in-time restore.

Audit log + DPDP

Every action signed & replayable. Customer-export CSV ready.

Integrations & AI

Resend (transactional)

Receipts, review requests, digests, password resets.

AI Face Analysis & Frame Match

Reads a single customer photo and returns face shape, PD measurement, and frame-fit scoring — surface best-fit frames to your floor staff in seconds.

AI Sales Coach (in-store)

A floating chat coach inside POS / Build-a-Pair. Cashier asks "what add-on for an office worker?" and the AI returns short, grounded recommendations based on the active cart and patient lifestyle tag. Claude Sonnet 4.5 by default.

AI Catalog Studio

Bulk background removal, product copy drafting, auto-tagging, and the AI Blog editor for SEO articles your store ranks for.

Webhook outbox

Push order / appointment events to any of your systems.

WhatsApp Click-to-Chat

One-click sending of order confirmations, ready-for-pickup alerts, appointment reminders, birthday wishes, and bill copies — from your own WhatsApp Business number. Zero BSP fee, zero per-message cost, zero ban risk. Customisable templates per event.

Still curious? Walk through every feature yourself — no sign-up, no friction.

Ready to transform your store?

Start your free 14-day trial. No credit card required.

Join optical retailers across India who are modernizing their business with OpticPOS.