Skip to main content

Staff Portal

The Staff Portal (5.2.0+) is a focused WordPress admin experience for Shop staff — appointment dashboard, streamlined menu, and permission-based access instead of the full wp-admin.

Before you begin

How it works

Users with manage_appointments but not manage_others_appointments get the portal automatically. Administrators and Shop Managers always see the full admin.

What you need

What staff can do (depends on permissions)

  1. ✅ View dashboard, calendar, and their appointments
  2. ✅ Manage own availability and Google Calendar (when allowed)
  3. ✅ Create appointments, view customers, or see earnings — only if those permissions are enabled

Explore: Dashboard → Menu & admin bar → Profile → Permissions

Dashboard​

On Home, default WordPress and WooCommerce widgets are replaced with appointment widgets in a 3-column layout.

Staff Portal Dashboard

Appointments overview​

Summary card:

  • Today's appointments
  • This week
  • Pending confirmation (linked)
  • Completed this month
  • Revenue this month (when view_own_earnings is on)
  • Occupancy rate

Chart.js line chart — toggle 7 / 30 / 90 days. Revenue axis visible when earnings permission is granted.

Upcoming appointments​

Next appointments with date, Today / Soon badges, product, time, customer, status, and View Details link. Empty state includes Create Appointment when create_appointments is enabled.

Insights​

Peak hour, peak day, and recent customers.

This week and monthly heatmap​

Day-by-day counts for the current week; color-coded monthly heatmap with month navigation.

Top products and quick actions​

Most-booked products for this staff member. Shortcut buttons respect permissions:

ActionPermission
Calendarview_calendar
All Appointmentsview_appointments_list
Availabilitymanage_own_availability
ProfileAlways visible
Customersview_customers
Exportexport_appointments

Streamlined admin menu​

Visible items:

  • Dashboard — appointment widgets
  • Appointments — list, calendar, sub-pages
  • Profile — details, timezone, availability, Google Calendar

Conditional items:

Menu itemPermission
Productsmanage_products
Ordersview_orders
Customers (under Appointments)view_customers

Direct URL access to forbidden pages redirects to the appointments list.

Admin bar​

Standard items (New Post, Comments, etc.) are hidden. Appointments menu adds Dashboard, Calendar, All Appointments, and Customers (each permission-gated).

Pending badge on Calendar when appointments await confirmation.

Dashboard notices​

Pending-confirmation appointments show an Action Required notice with a Review Now link to the filtered list.

Customers page​

Appointments → Customers (requires view_customers):

Staff Portal Customers

  • Name, email, phone, avatar
  • Appointment count and last appointment date
FeaturePermission
Own customers onlyview_customers
All customersview_all_customers
Appointment historyview_customer_history
Contact (email link)contact_customers

Staff profile​

Profile (top-level menu):

Staff Portal Profile Settings

Timezone​

Pick a working timezone or Default (site). Use my current timezone when browser detection differs. See Timezones.

Availability rules​

  • My Rules — add, edit, delete, reorder
  • Synced Rules — Google Calendar imports (read-only; count badge)

When staff timezone ≠ site timezone, a note shows which zone rules display in. Saves convert to site timezone automatically.

Google Calendar sync​

Requires store Client ID and Client Secret first — Google Calendar — Part C.

ControlPurpose
Continue with GoogleAuthorize staff Google account
CalendarTarget calendar for push / busy import
Sync ModeOne-way or two-way
Connected / DisconnectStatus; local disconnect only

Staff Google Calendar sync

Edit synced busy events in Google Calendar, then re-sync or wait for automatic sync.

Permission presets​

PresetDashboardCalendarCreateCustomersProductsEarnings
Minimal✅✅❌❌❌❌
Standard✅✅✅✅❌❌
Advanced✅✅✅✅✅✅

Full matrix: Roles & capabilities.