Before you start

You'll need three things ready: your tenant invitation email (from OnPoint), the email addresses of any managers you want to invite immediately, and a CSV or list of your current staff with names, contact details, and the roles they currently work. If you're on PlatinumPOS, FreshPOS, or OnPointPOS, the staff list flows in automatically — skip the manual import.

Step 1 — Accept your invitation

When OnPoint provisions your tenant, the registered Owner email receives an invitation link. Click it, set a password (use a password manager), and you'll land on the Onboarding wizard. The wizard is resumable — close the tab and come back later, your progress is server-stored and the tenant dashboard surfaces a "Finish setup" checklist until everything is configured.

Step 2 — Tenant details, brand kit, and locale

Step 1 of the wizard asks for the tenant fundamentals:

  • Tenant name — what staff and managers see in the portal header. Usually your trading name.
  • Brand key — onpoint, platinum, or fresh. If you're on PlatinumPOS or FreshPOS, pick the matching brand key — the portal restyles to match.
  • Timezone — IANA timezone (e.g. Africa/Johannesburg, America/Chicago). Drives schedule rendering, clock-in timestamps, and pay-period boundaries.
  • Currency — ZAR, USD, GBP, EUR, etc. Used for labour cost reports.
  • Week start — Monday, Sunday, or Saturday. Affects how weekly schedules and the BCEA ordinary-hours rule evaluate.

These can be edited later under Tenant Settings → General, but get the timezone right on the first try — changing it after schedules have been published causes recomputation.

Step 3 — Your first location

Step 2 of the wizard creates your first Location. Every shift belongs to a location, so even single-site operations need this step.

  • Location name — operator-facing, e.g. "Cape Town Main" or "Sandton Branch".
  • Address — used for tax filing and (optionally) the geofence radius if you enable geofenced clock-in later.
  • IANA timezone — usually inherits from tenant, override if this location is in a different timezone.
  • Opening hours — per day. These set the default window for schedule cells; you can still create shifts outside opening hours but a warning fires.

To add more locations later, go to Locations → New Location. There's no cap on locations per tenant; multi-location operators routinely run 50+ sites under one tenant.

Step 4 — Departments

Departments are the sub-units within a location: Front of House, Kitchen, Forecourt, Pump Island 1, Housekeeping, etc. They drive how schedules group shifts and how reports roll up. Step 3 of the wizard creates them; you can also skip with the "single department" preset if your venue is small and uniform.

A shift always belongs to a department. A department always belongs to a location. You cannot delete a department with active shifts attached; if you reorganise, retire it (sets it inactive) instead.

Step 5 — Job roles and skills

Job roles are the second axis of every shift — what the person on shift is doing. Cashier, Supervisor, Cook, Barista, Manager, Forecourt Attendant, Cleaner. The wizard ships with a preset list; edit to match your operation.

Each role can require skills — e.g. the "Sommelier" role requires the "Wine knowledge" skill. When scheduling, if a staff member is assigned a shift whose role requires a skill they don't hold, a conflict check fires. Skills are optional; if you don't use them, role matching is enough.

Role-skill mapping is configured under Tenant Settings → Job Roles & Skills.

Step 6 — Invite managers

Step 5 of the wizard invites managers by email. Each invitee receives a link to set their password and lands on the role-appropriate dashboard. Manager roles in OnPointShifts:

  • Tenant Owner — everything within the tenant. Usually one or two people.
  • Area Manager — read every assigned location, approve cross-site swaps, no payroll export. For multi-location group operators.
  • Location Manager — full schedule and staff at the manager's location. No tenant settings. This is the most common role.
  • Scheduler — create and edit schedules at assigned locations, cannot publish without manager sign-off. For dedicated scheduling clerks at large operations.
  • Payroll Manager — view all hours tenant-wide, edit timecards with reason, approve and lock payroll runs, export.
  • Read-only Auditor — every read, no writes. For external accountants and compliance reviews.

Invite managers before staff so they can review the staff list as it imports.

Step 7 — Add staff

Step 6 of the wizard adds staff. Two paths:

CSV import

Fastest for operations with more than 5–10 staff. The CSV template is on the import screen — required columns are FirstName, LastName, Email, Phone, EmploymentType (Permanent, Casual, or Contract), HourlyRate, DefaultLocationId, and DefaultRoleId. Optional columns are SecondaryLocations, SecondaryRoles, ContractedHoursPerWeek, and StartDate.

Validation runs before commit — the import preview shows any row-level issues (missing required field, invalid email, unknown LocationId). Fix and re-upload.

Manual entry

Cleaner for small operations or when adding one staff member at a time later. Go to Staff → Add Staff, fill the form, save.

POS-native operations

If you're on PlatinumPOS, FreshPOS, or OnPointPOS, the staff list syncs automatically once POS integration is enabled (Step 9). You don't need to import — your existing POS employee records become OnPointShifts staff records.

Step 8 — Pick a labour rule set

Step 7 of the wizard configures labour rules. Three starting options:

  • SA Default (BCEA-aligned) — seeded with the South African Basic Conditions of Employment Act thresholds. 45h ordinary weekly, 9h daily (5-day pattern), 8h daily (6-day pattern), 60-min meal break after 5h, 12h min rest, Sunday flag, public holiday flag. See the BCEA Labour Rules Explained resource for context, and the Labour Rules Guide for the full mechanics.
  • US Default — placeholder until US-specific templates ship (Phase 2). For now, use Custom and configure per your state.
  • Custom (start blank) — no rules pre-seeded. Add what you need from the 11 rule types.

The rule set can be edited any time. Tightening rules is non-destructive; relaxing them requires an audited reason.

Step 9 — Configure pay period

Step 8 sets your pay period. Three flavours:

  • Weekly — period starts on your chosen day, ends 7 days later.
  • Fortnightly — 14-day cycle anchored to your chosen start date.
  • Monthly — calendar month or custom start day (e.g. 26th to 25th).

Pay period boundaries drive timecard calculation and payroll-run scope. Once set, leave it — changing pay period after timecards exist requires period-by-period reconciliation.

Step 10 — POS mapping (skippable)

Step 9 of the wizard wires POS integration. Skip if you're standalone or if your POS will be configured later.

  • PlatinumPOS / FreshPOS / OnPointPOS — pick your POS, paste the integration token from your POS admin. Staff, sales, and clock punches start flowing immediately.
  • Third-party POS — pick "Other / API", paste your POS's webhook URL or API credentials. See the API Reference for the integration contract.

After saving, map: locations (your OnPointShifts location ↔ POS site code), employees (handled automatically for native POS, manual for third-party), departments, and roles. The mapping screen highlights any unmatched records.

Step 11 — Publish your first schedule

Step 10 of the wizard drops you on the weekly scheduler with the next pay period open and an inline tutorial. Build the week:

  • Add shifts — click a cell or drag from staff row to day column. Pick department, role, start time, end time, break minutes.
  • Apply a template — if you have a recurring pattern (Tuesday lunch crew, weekend evening crew), save it as a template and apply across weeks.
  • Mark unfilled cells as Open Shifts — broadcasts to eligible staff via the mobile app.
  • Watch the conflicts panel — eleven checks fire as you build. Red is Block, amber is Warning, info-grey is FYI.
  • Publish — when ready, click Publish. Notifications fire to assigned staff, the schedule goes live, and the audit trail captures the publish event.

Step 12 — Onboarding checklist

After the wizard completes, the tenant dashboard shows a "Finish setup" checklist for any optional steps you skipped: enable POS integration, configure notifications, set holiday calendar, add second location, etc. The checklist disappears once everything is done.

Common setup mistakes

  • Wrong timezone on a location — shift times look right in the UI but clock punches don't reconcile. Fix at Locations → Edit → Timezone.
  • Department deleted with active shifts — system blocks the delete. Retire the department instead, then move the shifts.
  • Skipped role-skill mapping for specialised roles — schedulers can assign anyone to anything. Add the required skills before publishing a real schedule.
  • Pay period misaligned with payroll engine — Sage/Pastel running monthly while OnPointShifts is on fortnightly causes a perpetual reconciliation headache. Match them.

Next steps

With setup complete, the next things to read:

Chat or Call on WhatsApp