Scheduling User Guide

How To Use HospiEdge Scheduling Week-To-Week

This is a practical user guide for managers and team members. Follow setup once, then run the weekly build, publish, request handling, compliance, and payroll flow in order.

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 Foundation

  1. Create roles in /roles.php (Server, Bartender, Line, Host, etc.).
  2. Invite staff from /team.php and confirm manager/team permissions.
  3. Approve role assignments so Auto-Schedule and pickup eligibility can place correct staff.

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 + Alert Readiness

  1. Set hourly rates in /pay_rates.php so labor and payroll calculations are accurate.
  2. Configure policy modes (warn/block) in /rules.php and validate on /compliance.php.
  3. Post communication in /announcements.php and run first alert scan in /notifications.php.

Manager Weekly Build-To-Payroll Playbook

Run this sequence every week to keep schedule quality, approvals, and labor performance aligned.

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 clock-in/out discipline, correct exceptions, and tag manager edits with notes. Actual hours are clean enough for payroll and labor variance.
7) Cost + Closeout /labor_actuals.php, /labor_forecast.php, /payroll.php, /tips.php Review scheduled vs actual, labor %, overtime, payroll gross, and tips distribution before close. Financial week is reconciled 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

/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, and gross calculations.
  4. Export payroll CSV after totals and overtime thresholds are verified.

10) Forecast, Pay, Tips, HR, 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 and emergency contact data; run Aloha imports/mapping for sales-labor context.

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 and choose shift if prompted.
  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, 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.

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 and tips 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 location access and subscription state in multi-unit setups.

Commercial + Engineering Context

This guide is operational. These values match the same planning and licensing references shown on the main engineering pages.

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

  • Perpetual internal-use source-code license: $50,000
  • Annual maintenance after year 1: $9,000
  • Term-license reference: $18,000/year
  • SaaS: $49/month standalone, or included free with active hospiedgetool.org membership

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