Built By The Team Behind Your POS.
OnPointShifts is part of the OnPoint Group — the same engineering team that ships PlatinumPOS, FreshPOS, and OnPointPOS to operators across South Africa, the United States, and 37 other countries.
Because Schedules and Sales Shouldn't Live in Different Apps
For 22 years we've shipped POS to operators with margins on the line — restaurants, bars, retail, hotels, salons, fast food, and fuel stations. Across all of them, one pattern repeated: the schedule lived on WhatsApp, on paper, or in a separate SaaS tool that imported sales as a "feature."
That gap between the POS and the roster is where labour percentage gets misread, where managers chase clock-ins, where payroll spreadsheets get reconciled at midnight. OnPointShifts closes that gap because the people who own the POS also own the scheduler. Same database, same identity, same support queue.
One Company. Four Products. One Identity Model.
OnPointShifts is the newest addition to the OnPoint Group's product family. The other three are POS platforms. Together they share an identity model — a staff member is a staff member across every product.
PlatinumPOS
Flagship POS for restaurants, bars, retail, hotels, salons, fast food, and fuel stations. 22+ years of in-house development. Deployed across 39 countries to 22,000+ operators.
Visit PlatinumPOSFreshPOS
Purpose-built POS for fuel stations and convenience stores. Forecourt management, pump integration, PumpnPay QR payments, and integrated KaChing Payments.
Visit FreshPOSOnPointPOS
The OnPoint Group's cloud POS. Built for operators who want POS-on-anything: web, iOS, Android. The platform OnPointShifts co-brands into.
Notify meOnPointShifts You're Here
The workforce layer. Scheduling, shift workflows, time and attendance, labour rules, and payroll-ready hours — all sharing one identity model with the POS above.
See solutionsOperator-Grade. Not Consumer-Cute.
OnPointShifts is a tool for people who run businesses with margins. Closer to Linear or Stripe than to a SaaS scheduling app with cartoon mascots.
Calm, Decisive, Premium
Information density over whitespace theatre. No exclamation marks. No "delight." Just the workforce layer your POS has been missing.
Confident Without Bluster
Imperatives over questions. "Publish schedule," not "Would you like to publish?" Numbers over adjectives. "Labour 28.4%" beats "Labour looks healthy."
Trustworthy With Payroll Data
Visual restraint communicates "we won't lose your hours." Locked periods are immutable. The audit log is append-only and tamper-evident.
Honest About What We Don't Do
Not a payroll engine. Not a POS replacement. Not an HR suite. We do the workforce layer — well — and hand off cleanly to whoever runs the next module downstream.
Designed for SA First
Launch market is South Africa. SA labour template seeded with BCEA-aligned defaults. Configurable enough to ship into the US, UK, AU, and the rest of Africa without forking.
POS-Native, Stack-Agnostic
Best with PlatinumPOS, FreshPOS, or OnPointPOS. Works fine with third-party POS via API. Works fine with no POS at all if you're starting greenfield.
What We Care About When We Build
Boring choices. Calm code. The kind of engineering that lets operators stop thinking about their workforce tool.
Strict Tenant Isolation
Every owned row carries a TenantId. API requests cross-check tenant in both the URL and the auth token. No cross-tenant data leak, no "are you sure that's the right tenant" prompt.
Short-Lived Sessions
Short-lived access tokens with single-use refresh rotation. A compromised refresh breaks the chain — the old session is invalidated automatically.
Operator-Grade Web Portal
Dense, drag-friendly scheduler. Calm surfaces, sparing accent colour, monospace for numerics. Built to live on a manager's screen for the whole shift.
Native iOS & Android
One staff app, two platforms. Offline-tolerant cache for schedule and timesheet. Clock punches queue locally and post on reconnect.
Real-Time Updates
Schedule publishes, swap responses, approval-queue changes — pushed live to every connected client. No refresh-and-pray.
Hosted Or Self-Hosted
Run it on OnPoint infrastructure, or on your own database for residency-sensitive deployments. Same product, your choice of where the data lives.
The First Conversation Is Usually The Best One
Tell us how you roster. Tell us what's broken. We'll tell you whether OnPointShifts is the answer — or whether you need something else first.