Hospi Edge Table User Guide

How To Run Host, Floor, Reservation, and Waitlist Workflows

This guide is an operating manual for managers and hosts. It covers setup, live service workflows, guest channels, and admin controls in the order teams actually use them.

Before First Service

Complete this once so host stand, floor operations, and guest booking channels all stay in sync.

1) Account and Access

  1. Create owner account at /auth/register.php or staff account via /auth/join.php?code=....
  2. Verify role access for host/manager pages (owner, gm, manager, host roles).
  3. If login redirects to /billing/renew.php, confirm subscription or partner activation status.

2) Floor Plan Foundation

  1. Create plans in /floorplan/index.php.
  2. Design layout in /floorplan/builder.php?floor_plan_id=... (tables, booths, walls, labels, connected groups).
  3. Publish from /floorplan/versions.php so host and section tools can load synced table rows.

3) Team and Stations

  1. Build team roster and ratings in /manager/staff_ratings.php.
  2. Create sections and table memberships in /manager/sections.php.
  3. Generate and save shift assignments in /manager/assign.php, then load to host board.

4) Guest Channels and Automation

  1. Set booking windows and link key in /manager/booking_settings.php.
  2. Validate public booking at /book/index.php?k=... and confirmation page.
  3. Configure webhooks/API keys in /manager/webhooks.php and /manager/api_keys.php.

Daily Service Playbook

Use this operating sequence every shift for predictable guest flow and table turn control.

Phase Where To Go What To Do Done When
1) Pre-Shift Build /manager/sections.php, /manager/assign.php Confirm section structure, generate staffing assignments, and save AM/PM shift output. Shift has a server-to-section map ready for host load.
2) Host Launch /host/index.php -> /host/host.php?floor_plan_id=... Select floor plan, choose service date and shift slot, load station plan into host assignments. Host board shows valid assignments and service context.
3) Server Readiness /host/host.php Check in active servers and verify station-open status before seating. Open table logic matches real staffed stations.
4) Guest Intake /host/reservations.php, /host/host.php Process reservations, add walk-ins, and route overflow to waitlist with quote/notes. All arriving parties have a tracked path to seating.
5) Seating and Turns /host/host.php Seat suggested party, handle linked tables for large groups, and update dirty/available states as parties turn. Floor states represent reality and turn timing data stays clean.
6) Live Monitoring /host/waitboard.php, /server/pocket_view.php Monitor wait estimate, waiting vs notified guests, and server-side table state updates. Hosts and servers share one live state picture.
7) Closeout and Review /manager/moves.php, /manager/reports.php Review move log, reservation statuses, cover counts, and assignment activity for next-shift decisions. Shift results are documented and next shift is better prepared.

Host Stand Runbooks

Exact host instructions for live seating, waitlist, and floor control.

1) Launch Host Board

/host/index.php, /host/host.php

  1. Open target floor plan card from Host Stand home.
  2. Set service date and correct AM/PM shift slot.
  3. Confirm host board is connected and table map loads.
  4. If map is empty, confirm a version is published from floorplan versions.

2) Server Check-In and Station Load

/host/host.php

  1. Choose server in dropdown, use Check In / Check Out actions.
  2. Run Load Station Plan (AM/PM) after manager assignments are saved.
  3. Verify table station status reflects checked-in staff.
  4. Do not seat in closed stations (unassigned or not checked in).

3) Walk-In Seating Flow

/host/host.php

  1. Select a table on the map, enter party size and optional guest details.
  2. Use Seat Suggested for rotation-aware recommendation.
  3. Use Seat Table to commit seating state and party details.
  4. If no immediate seat, use Add Walk-in to Waitlist.

4) Waitlist Management

/host/host.php, /host/waitboard.php

  1. Add guest name, party size, quote, notes, and optional phone.
  2. Use waitlist modal to seat or remove items quickly.
  3. Use guest notification for ready status where enabled.
  4. Cross-check waitboard for live wait estimate and seating pace.

5) Large Party and Table Linking

/host/host.php

  1. Select primary table then open Link for Large Party.
  2. Choose compatible available tables and confirm links.
  3. Use unlink action when party leaves and tables split back.
  4. Keep linked map aligned with real physical setup.

6) Table Lifecycle Controls

/host/host.php, /server/pocket_view.php

  1. Set table states intentionally: seated -> dirty -> available.
  2. Use pocket view for server-side quick updates during service.
  3. Clear tables immediately after bussing completion.
  4. Accurate states improve wait quote accuracy and turn analytics.

7) Reservation Desk Flow

/host/reservations.php

  1. Select date and review timeline/table grid.
  2. Create or edit booking with guest, party, time, source, and status.
  3. Assign table where appropriate, keep statuses current.
  4. Use this view to avoid overbooking when walk-ins increase.

8) Kiosk Host Station

/host/guest_kiosk.php

  1. Select kiosk floor plan and launch guest-facing flow.
  2. Monitor suggested and alternate table options for guest self-seat.
  3. Route full-house guests to waitlist with collected contact data.
  4. Use kiosk chat assist for guest guidance when needed.

Manager Console Runbooks

Manager workflows for staffing, layout, analytics, and integrations.

1) Console Navigation

/manager/index.php

  1. Use core cards: Team/Ratings, Sections, Smart Assign, Moves.
  2. Use insights cards: Reports, Booking Settings, Webhooks, API Keys.
  3. Use connected module cards for Waitlist, Host, Floor Builder.
  4. Use host join code to onboard host-only users.

2) Sections and Station Design

/manager/sections.php

  1. Select plan, shift date, and AM/PM slot.
  2. Create sections and assign/remove tables by clicking map objects.
  3. Assign server per section for specific shift date/slot.
  4. Use this as source of truth for host station load.

3) Smart Assign Algorithm

/manager/assign.php

  1. Load schedule roster (or import team fallback) for selected date.
  2. Generate assignments by section value and staff score/tier.
  3. Review suggested match reasons and adjust if needed.
  4. Save assignments so host can load them for the same shift slot.

4) Schedule Link and Team Sync

/manager/staff_ratings.php

  1. Connect scheduling credentials from link dialog.
  2. Run schedule import to sync staff roster by email identity.
  3. Manage active status, ratings, tiers, and working overrides.
  4. Open profile history to audit rating changes and location memberships.

5) Table Moves and Extra Capacity

/manager/moves.php, /manager/support.php

  1. Apply temporary table-to-section moves per shift date.
  2. Use support extras to add/remove overflow tables to sections.
  3. Keep temporary overrides documented and date-scoped.
  4. Clear overrides after service to avoid next-shift drift.

6) Reporting and KPIs

/manager/reports.php

  1. Set report date range and run summary.
  2. Track reservations count, covers, move count, and assignment count.
  3. Review reservation statuses distribution for booking quality.
  4. Use these metrics in pre-shift planning and staffing reviews.

7) Public Booking Configuration

/manager/booking_settings.php, /book/index.php?k=...

  1. Set open/close times, slot interval, lead time, and max party.
  2. Copy booking link key and test public booking flow.
  3. Regenerate key if old link should be retired.
  4. Validate reservation creation and confirmation pages work end-to-end.

8) API Keys and Webhooks

/manager/api_keys.php, /manager/webhooks.php

  1. Create scoped API keys for automation clients and store once-revealed secret securely.
  2. Rotate/revoke/enable keys as staff or integration ownership changes.
  3. Create webhooks by event type, test delivery, and inspect delivery logs.
  4. Retry failed deliveries and validate signature verification with shared secret.

9) Floor Builder Publish Discipline

/floorplan/builder.php, /floorplan/versions.php

  1. Save drafts during design iteration; publish only validated versions.
  2. Use versions list to publish current best layout and remove bad versions.
  3. After publish, verify host and section pages reflect synced table metadata.
  4. Keep connectable table groups current for large party operations.

10) Access and Billing Controls

/billing/renew.php, /_core/auth.php

  1. If local billing is active/trialing, access remains open.
  2. If local billing is not active, platform checks external HospiEdge Tool activation by manager email.
  3. Integrated environments can grant access via table.access entitlement.
  4. If none apply, user is redirected to renewal workflow.

Guest Channel Runbooks

How guest-facing surfaces behave so your team can support them without guesswork.

1) Public Booking Widget

/book/index.php?k=...

  1. Guest checks availability by party size, date, and duration.
  2. Widget shows available slots and table hint from published layout.
  3. Guest submits details and reservation is created with public token.
  4. If no table is available, system can create waitlist fallback entry.

2) Reservation Confirmation Page

/book/confirm.php?token=...

  1. Guest sees reservation details and current status.
  2. Guest can cancel reservation via tokenized action.
  3. Token flow avoids exposing direct internal record IDs.
  4. Hosts can reconcile cancellations quickly in reservation view.

3) Self-Seat Guest App

/selfseat/index.php

  1. Guest sees live map and available tables.
  2. Guest selects table and confirms party size/name.
  3. System records seating state and updates host floor state.
  4. If full, guest can be routed to waitlist flow.

4) Public Waitlist Status Board

/wait/index.php

  1. Guest selects restaurant and sees waiting/notified list state.
  2. Guest can subscribe to push notifications where supported.
  3. Status transitions to READY trigger guest-facing notification messaging.
  4. Use this during busy periods to reduce host stand crowding.

Weekly and Monthly Routines

Keep these routines on calendar so table operations stay sharp.

Weekly Service Ops

  • Re-run section and assignment quality check before peak days.
  • Audit waitlist quote accuracy against actual pacing.
  • Review move and support-extra logs for layout bottlenecks.
  • Refresh host join code usage and deactivate stale access.

Weekly Guest Experience

  • Test booking link, confirmation page, and cancellation behavior.
  • Test kiosk/self-seat flow on live device.
  • Check push notification readiness for public waitlist page.
  • Review reservation status mix (booked, seated, cancelled).

Monthly Platform Hygiene

  • Rotate API keys and remove inactive integrations.
  • Review webhook failures and retry patterns.
  • Clean old floorplan versions and keep only useful history.
  • Validate billing/entitlement status and partner activation assumptions.

Commercial + Engineering Context

This guide is operational. These value and license references are aligned with the main engineering pages.

Hospi Edge Table Value Snapshot

  • Current rebuild value range: $450,000 - $1,100,000
  • Published midpoint baseline: $760,000
  • This guide currently documents 136 files, 597 functions, and 36,732 PHP lines.

Midpoint follows the same inventory and complexity-weighted rebuild-cost model used across all HospiEdge apps.

Table License Reference

  • Perpetual internal-use source-code license: $92,000
  • Annual maintenance after year 1: $16,500
  • Term-license reference: $33,000/year
  • SaaS: $79/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 and engineering reference.

136 files | 597 named functions | 36,732 PHP lines

api (1 files)
api/host/clear_table.php
auth (8 files)
auth/forgot.php
auth/join.php
auth/login.php
auth/logout.php
auth/register.php
auth/reset_password.php
auth/sso/callback.php
auth/sso/start.php
billing (4 files)
billing/create_checkout_session.php
billing/renew.php
billing/success.php
billing/webhook.php
book (3 files)
book/api.php
book/confirm.php
book/index.php
floorplan (7 files)
floorplan/_shared.php
floorplan/api.php
floorplan/builder.php
floorplan/health/index.php
floorplan/health/ping.php
floorplan/index.php
floorplan/versions.php
health (3 files)
health/host_floorplan_fix/host_api.patched_final.php
health/index.php
health/ping.php
hospi_chat (33 files)
hospi_chat/ai_parse.php
hospi_chat/api/_helpers.php
hospi_chat/api/add_action.php
hospi_chat/api/chat.php
hospi_chat/api/db_test.php
hospi_chat/api/draft_goal.php
hospi_chat/api/endpoint.php
hospi_chat/api/get_goal_details.php
hospi_chat/api/guest.php
hospi_chat/api/health.php
hospi_chat/api/hellllo.php
hospi_chat/api/hello.php
hospi_chat/api/hospi_edge_ai_api.php
hospi_chat/api/key_test.php
hospi_chat/api/logtail.php
hospi_chat/api/openai_auth_test.php
hospi_chat/api/openai_test.php
hospi_chat/api/outbound_test.php
hospi_chat/api/ping.php
hospi_chat/api/tmplog.php
hospi_chat/api/tmpwrite.php
hospi_chat/api/update_goal.php
hospi_chat/api/x2.php
hospi_chat/api/x3.php
hospi_chat/api/x3_kiosk.php
hospi_chat/config.php
hospi_chat/env.php
hospi_chat/env/env.php
hospi_chat/env/load_env.php
hospi_chat/env/ls.php
hospi_chat/header.php
hospi_chat/index.php
hospi_chat/load_env.php
host (14 files)
host/_shared.php
host/guest_kiosk.php
host/host.php
host/host_api.original.php
host/host_api.php
host/index.php
host/kiosk_api.php
host/kiosk_chat.php
host/reservations.php
host/reservations_api.php
host/seat_yourself_api.php
host/seat_yourself_guest_api.php
host/station_assignments.php
host/waitboard.php
includes (3 files)
includes/booking_helpers.php
includes/guest_functions.php
includes/sms_helper.php
manager (24 files)
manager/api.php
manager/api_keys.php
manager/api_keys_api.php
manager/assign.php
manager/assign_api.php
manager/booking_settings.php
manager/booking_settings_api.php
manager/index.php
manager/invite_api.php
manager/locations_api.php
manager/moves.php
manager/moves_api.php
manager/ratings.php
manager/reports.php
manager/reports_api.php
manager/schedule_auth_api.php
manager/sections.php
manager/sections_api.php
manager/staff_ratings.php
manager/staff_ratings_api.php
manager/support.php
manager/support_api.php
manager/webhooks.php
manager/webhooks_api.php
platform (1 files)
platform/integration/core.php
root (3 files)
guide.php
index.php
schedule_auth_api.php
selfseat (3 files)
selfseat/api.php
selfseat/hospi_chat/api/guest.php
selfseat/index.php
server (1 files)
server/pocket_view.php
wait (13 files)
wait/_webpush.php
wait/gen.php
wait/host/host_api.original.php
wait/host/host_api.php
wait/index.php
wait/push_config.php
wait/push_subscribe.php
wait/wait/_webpush.php
wait/wait/index.php
wait/wait/push_config.php
wait/wait/push_subscribe.php
wait/wait/tools/generate_vapid.php
wait/wipe.php
_core (14 files)
_core/api_auth.php
_core/auth.php
_core/billing.php
_core/bootstrap.php
_core/config.local.php
_core/config.php
_core/csrf.php
_core/db.php
_core/env.php
_core/helpers.php
_core/integration_bootstrap.php
_core/rate_limiter.php
_core/response.php
_core/webhook_dispatcher.php
_includes (1 files)
_includes/platform_nav.php