Scheduling User Guide

How To Use HospiEdge Scheduling Week-To-Week

Use this guide for the real weekly rhythm: set up locations and team records once, then build, publish, run shifts, capture time, review payroll and tax context, and keep people ops connected in order.

  • Manager flow: start with setup, then move through weekly build, publishing, timekeeping review, payroll review, tax/liability follow-through, and people-ops routines.
  • Team flow: requests, availability, acknowledgements, personal clock use, and shift visibility are covered in their own runbooks.
  • Best fit: use this page for workflow depth after the main Scheduling page establishes scope, then move to live Scheduling, Pricing, or Contact when the next question is rollout, commercial fit, or launch timing.

Before You Schedule

Complete this checklist once so weekly scheduling, approvals, compliance, and labor reports work end-to-end.

1) Account + Location Access

  1. Manager creates or joins account via /auth/register.php or invite flow.
  2. Confirm active location and role in /locations.php and /settings.php.
  3. If multi-location, switch and verify each location has its own team and role setup.

2) Team, Role, and People-Ops Foundation

  1. Create roles in /roles.php (Server, Bartender, Line, Host, etc.).
  2. Invite staff from /team.php, confirm manager/team permissions, and verify HR records are complete.
  3. Approve role assignments so Auto-Schedule, pickup eligibility, onboarding, punch-number setup, and payroll setup all reference the same people records.

3) Availability + Targets

  1. Have each team member set recurring availability in /availability.php.
  2. Add one-off overrides (vacation, exceptions) to prevent false coverage assumptions.
  3. Set demand windows and minimum staffing in /staffing_targets.php.

4) Labor, Pay, Punch, and Alert Readiness

  1. Set hourly rates in /pay_rates.php so labor and payroll calculations are accurate.
  2. Assign punch numbers and verify personal/shared time-clock readiness before the first live week.
  3. Configure policy modes (warn/block) in /rules.php, validate on /compliance.php, then post communication in /announcements.php and run the first alert scan in /notifications.php.

Manager Weekly Build-To-Payroll Playbook

Run this sequence every week to keep schedule quality, time capture, payroll review, and people follow-through aligned before the week closes and the next publish cycle starts.

Scheduling setup playbook phases, where to go, what to do, and completion outcomes.
Phase Where To Go What To Do Done When
1) Week Prep /index.php, /staffing_targets.php Set target week, review prior publish versions, confirm staffing targets and role coverage priorities. Coverage expectations are clear before creating drafts.
2) Draft Build /auto_schedule.php, /index.php Generate draft shifts (role groups, pars, days, stagger), then edit manually and drag/drop where needed. Draft contains the full week with minimal open shifts.
3) Conflict Pass /index.php, /rules.php, /compliance.php Resolve time-off overlaps, availability conflicts, and policy blocks before publishing. No unresolved blockers remain for publish target roles.
4) Publish + Snapshot /index.php (Publish by role / all roles) Publish schedule, verify version snapshot was created, and keep rollback option available. Team sees published shifts and managers can roll back if needed.
5) Midweek Operations /time_off.php, /swaps.php, /callouts.php Process time-off, trades, pickups, and callouts fast to protect coverage quality during service days. Requests are actioned and open shifts are reassigned or escalated.
6) Clock + Accuracy /timeclock.php, /timesheet.php Ensure personal or shared clock-in/out discipline, correct exceptions, and tag manager edits with notes. Actual hours are clean enough for payroll, labor variance, and end-of-period approvals.
7) Cost + Closeout /labor_actuals.php, /labor_forecast.php, /payroll.php, /tips.php, /integrations/aloha.php Review scheduled vs actual, labor %, overtime, payroll gross, POS/tip context, liabilities, and exported payroll files before close. Financial week is reconciled, payroll/tax context is ready, and next week planning inputs are ready.

Manager Screen-By-Screen Runbooks

Use these as operating instructions for each manager module.

1) Master Schedule Board

/index.php

  1. Set week, role filter, and optional staff view/search.
  2. Add/edit shifts with date, start/end, break, staff, role, status.
  3. Use controls: Publish, Unpublish, Copy Prev Week, Clear Drafts.
  4. Open Version History and rollback if a publish pass needs reversal.

2) Auto-Schedule Draft Generation

/auto_schedule.php

  1. Select target Monday and enable/disable auto-assign.
  2. Add role groups with role, par count, start time, stagger, duration, and active weekdays.
  3. Generate draft shifts, then return to schedule board for manual refinement.
  4. If auto-assign leaves openings, fill with trade board or manual assignments.

3) Staffing Target Windows

/staffing_targets.php

  1. Create day/time windows with minimum staff counts and optional role label.
  2. Use role-specific targets for high-risk stations (bar, line, host, expo).
  3. Delete stale targets when seasonal traffic changes.
  4. Recheck board coverage after updates to close under-staffed windows.

4) Team + Role Governance

/team.php, /roles.php

  1. Invite staff, fix pending account setups, and confirm system role (team/manager).
  2. Approve pending role requests and keep role assignments clean.
  3. Use roles page to maintain active role catalog and color coding.
  4. Re-open this page before each schedule cycle to validate staffing roster.

5) Time-Off Decisioning

/time_off.php

  1. Review pending requests by requester level (team or manager).
  2. Approve or deny with CSRF-protected actions and immediate status update.
  3. Have team cancel stale requests still marked pending.
  4. After approvals, re-run schedule conflict check to catch new gaps.

6) Trades, Pickups, and Callouts

/swaps.php, /callouts.php

  1. Monitor trade board for pending, approved, denied, and cancelled requests.
  2. Resolve open shift coverage from callout candidates with eligibility checks.
  3. Assign available candidate directly from callout modal when eligible.
  4. Audit recurring callout patterns and adjust next week staffing depth.

7) Rules + Compliance

/rules.php, /compliance.php

  1. Set policy toggles and modes (warn or block) for hours/rest rules.
  2. Run compliance scan for current week and review violations by policy key.
  3. Use punch exception panel to catch missing or irregular time entries.
  4. Treat block violations as publish blockers unless leadership approves exception.

8) Quality + Alerts

/quality.php, /notifications.php

  1. Run quality scan for selected week and save score trend.
  2. Use reason breakdown (time off, unavailable, overlap, rules) to prioritize fixes.
  3. Run notification scan to generate alerts from pending workflows and conflicts.
  4. Mark alerts read after action, and adjust email toggles in /notif_prefs.php.

9) Labor, Timesheet, Payroll Operations

/labor_actuals.php, /timesheet.php, /payroll.php

  1. Run labor report by date range for scheduled vs actual hours and labor cost deltas.
  2. Fix missing/incorrect punches in timesheet modal (add/edit/delete with notes).
  3. Generate payroll view with regular, overtime, gross, and adjustment-ready calculations.
  4. Review checks, statements, worksheet/export files, recurring items, and off-cycle adjustments before period approval.
  5. Export payroll files only after totals, overtime thresholds, unresolved checkout context, liabilities, and statement/check outputs are verified.

10) Forecast, POS Context, HR, and Integrations

/labor_forecast.php, /pay_rates.php, /tips.php, /hr.php, /integrations/aloha.php

  1. Use forecast to compare last week, current week, and next three weeks labor posture.
  2. Update pay rates so cost, payroll, and forecast math remain valid.
  3. Record tip pools and distribution amounts, then validate history by date range.
  4. Maintain HR profiles, onboarding, invites, role approvals, punch-number setup, and pay rates; run Aloha imports/mapping for sales-labor context and payroll/POS bridge review.

Team Member Runbooks

These steps show exactly how staff use Scheduling day-to-day.

1) My Work Home

/my.php

  1. Open current week and review published personal shifts.
  2. Request additional role access if needed (role request button).
  3. Open shift actions: Trade or Call Out from each shift card.
  4. Browse available pickups and submit pickup request when eligible.

2) Availability + One-Off Overrides

/availability.php

  1. Set recurring day-by-day availability (available/unavailable + start/end times).
  2. Save each day card after edits.
  3. Create overrides for specific dates (one-time unavailable or one-time available window).
  4. Remove overrides when plans change to avoid unnecessary staffing conflicts.

3) Trades + Pickups

/swaps.php

  1. Submit trade request from My Work shift card with optional note.
  2. Track request status on Trade Board (pending, approved, denied, cancelled).
  3. Accept eligible trade opportunities when posted.
  4. Cancel stale pending trade requests that are no longer needed.

4) Time-Off Requests

/time_off.php

  1. Create request with date/time range and reason.
  2. Leave times blank for all-day requests.
  3. Track history and final decision status in My History panel.
  4. Cancel request while still pending if plans change.

5) Clock In/Out + My Time Entries

/timeclock.php, /timesheet.php

  1. Clock in at shift start using the personal time clock or assigned shared terminal flow.
  2. Clock out immediately at shift end to avoid inflated actual hours.
  3. Check My Entries for missing out-punches or timing issues.
  4. Contact manager for corrections when entry needs edit.

6) Alerts + Announcements

/notifications.php, /announcements.php

  1. Check alerts daily for new schedule actions, requests, and conflicts.
  2. Mark read after action is completed.
  3. Review active announcements for policy and shift updates.
  4. Set email alert preferences in /notif_prefs.php.

Weekly + Monthly Operating Routines

Use these routines so schedule quality, labor, timekeeping, payroll, and team performance stay stable.

Weekly Manager Routine

  • Monday: build drafts + clear blockers before first publish.
  • Midweek: process time-off/trades/callouts twice daily.
  • Friday: run compliance + quality scan before next publish pass.
  • Sunday: lock timesheet exceptions before payroll review, check-run preparation, and liability reconciliation.

Finance + Labor Routine

  • Update pay rates immediately when wage changes happen.
  • Compare scheduled vs actual hours and investigate repeat variances.
  • Track labor % and open shift hours in forecast panel.
  • Close payroll export only after overtime, tips, liabilities, unresolved POS context, and adjustment rows look correct.

System Health Routine

  • Review role assignments and inactive users monthly.
  • Audit notification preferences and announcement cadence.
  • Verify POS import jobs are current and not stalled.
  • Review API keys, webhooks, and location access/security state in multi-unit setups.

Commercial + Engineering Context

This guide stays operational. Use Pricing for commercial decisions, Contact for launch review, and Engineering only when the next question is valuation or licensing detail.

Scheduling Value Snapshot

  • Current rebuild value range: $350,000 - $900,000
  • Published midpoint baseline: $420,000
  • This guide currently documents 93 files, 243 functions, and 21,784 PHP lines.

Midpoint is computed from inventory depth, complexity-weighted implementation hours, and standard engineering rate modeling.

Scheduling License Reference

  • Lifetime internal-use source-code license: $50,000
  • Optional annual updates after year 1: $9,000
  • Standalone SaaS: $199/month, or included with an active HospiEdge platform account
  • Live platform pricing: $279/month or $2,899/year for 1 account, $749/month or $7,799/year for 3 accounts, and $2,190/month or $22,999/year for 10 accounts, with AI included

Technical Appendix (File Inventory)

User workflow guide above is primary. This appendix is for build/engineering reference.

93 files | 243 named functions | 21,784 PHP lines

ai (1 files)
ai/config.php
auth (8 files)
auth/forgot.php
auth/invite_accept.php
auth/login.php
auth/logout.php
auth/register.php
auth/reset.php
auth/sso/callback.php
auth/sso/start.php
health (1 files)
health/db.php
integrations (2 files)
integrations/aloha.php
integrations/jobs.php
jobs (5 files)
jobs/aloha_handler.php
jobs/job_lib.php
jobs/run_once.php
jobs/worker.php
jobs/worker_lib.php
lib (6 files)
lib/auth.php
lib/gatekeeper.php
lib/http.php
lib/mailer.php
lib/security.php
lib/worker_lib.php
platform (1 files)
platform/integration/core.php
pos (2 files)
pos/AlohaAdapter.php
pos/PosAdapterInterface.php
root (62 files)
403.php
404.php
_bootstrap.php
_ui.php
aloha_api.php
aloha_finalize.php
aloha_mapping.php
aloha_review.php
announcements.php
api.php
api_get_staff.php
auto_schedule.php
auto_schedule_action.php
availability.php
bundle_info.php
callouts.php
compare.php
compliance.php
config.php
creaate_admin.php
db.php
features.php
fix.php
fix_dashboard.php
fix_root_paths.php
footer.php
header.php
health.php
hr.php
index.php
integration_bootstrap.php
invite_accept.php
labor_actuals.php
labor_forecast.php
locations.php
my.php
my_role_request.php
notif_prefs.php
notifications.php
pay_rates.php
payroll.php
quality.php
renew.php
rescue.php
roles.php
rules.php
rules_engine.php
settings.php
setup.php
staffing_targets.php
start.php
swaps.php
team.php
team_guide.php
team_roles_action.php
test_connection.php
test_db.php
time_off.php
time_off_action.php
timeclock.php
timesheet.php
tips.php
scripts (1 files)
scripts/seed_schedule_demo.php
stripe (2 files)
stripe/create_session.php
stripe/webhook.php
team (1 files)
team/index.php
_notes (1 files)
_notes/schedule_config.php