PassPlace · Instructions

PassPlace Instructions

Plain-language guide for teachers, principals, and security — what each feature does and how to use it.

Public guide — sign in for a role-filtered view

Getting started

Everyone

Open PassPlace at the homepage (/) for a product overview, then use School sign in or Get started to reach the school login screen.

  • Visit the PassPlace homepage to see highlights: live hallway view, create & print passes, Blue/Green days, encounter prevention, arrival tracking, and privacy-first design.
  • Choose School sign in or Get started to open /login.
  • New to PassPlace? On /login tap Request access (/request-access) to create an account with your school email. A principal must approve before you can use PassPlace.
  • Sign in with your school email, or a special username (TEACHER, DEMO, ADMIN, …) — no @ required for those usernames. Your home screen then matches your role.

Stay signed in on this computer

Teachers (also Principals and Security on shared stations)

After password sign-in, this computer stays trusted for 24 hours. While PassPlace stays open in the browser, that window slides forward so teachers are not idle-kicked mid school day. Optionally set a quick PIN for unlock when returning later.

  • Sign in once with email or username and password.
  • Optional: set a 4–6 digit quick PIN from the post-login prompt or Settings → School & Teacher.
  • Keep PassPlace open on the station — trust renews in the background so a normal school day does not force re-login.
  • Within 24 hours of last activity, PassPlace opens again on this computer (PIN unlock if you set one).
  • Wrong PINs are limited; choose Sign in with password anytime.
  • After 24 hours without renewal, enter your password again to refresh the window. Sign out clears trust on this computer.
  • The PIN is hashed and stored only on this device — it does not replace your school password or server session.

Request school access

New staff without an invite

Create a PassPlace account at /request-access when you do not have an invite email yet. Your principal reviews every request.

  • Open /login and tap Request access, or go to /request-access.
  • Enter first name, last name, school email, and a password (12+ characters).
  • PassPlace creates your account and queues a school access request when it can identify your school.
  • After submission, sign in again once a principal approves your request from Principal → Roles → Pending.
  • Pre-invited staff should use the invite email instead — that path grants access automatically when they set a password.

School day pass hours (7 AM – 3 PM)

Teachers, Security, Principals

Pass issuance follows school local time. Defaults are 7:00 AM open and 3:00 PM close (Coral Springs / Eastern). Before open or after close, new passes are blocked with a clear message. Separately, Principals can turn on or off the daily end-of-day auto-close of still-open passes (on by default).

  • Principals set Open / Close times under Principal → Pass rules → School day pass hours (school timezone). These times control when new passes may be created.
  • Before opening time, Create Hall Pass and Security Create pass show that the system is not open yet.
  • After close time, new passes are blocked as closed for the day.
  • Auto-close open passes at end of school day (default on): at close time, a scheduled job plus live dashboard ticks close any still-active passes so the next day starts clear. Turn this off to leave open passes until staff close them — issuance hours still apply.
  • Demo school defaults: 7:00 AM – 3:00 PM America/New_York with auto-close on.

Light & dark mode

Everyone

PassPlace remembers your light or dark preference on this browser. Use the sun/moon button in the teacher or Principal/AP left sidebar (or Security / Help top bar) to switch anytime.

  • Look for the sun (switch to light) or moon (switch to dark) icon at the bottom of the teacher or Principal/AP sidebar, or in the top bar on Security and Help screens.
  • Click once to flip modes immediately. Your choice is saved on this computer and applied on the next visit.
  • Teachers and principals can also set Theme mode under Settings → Appearance (Light, Dark, or System).
  • If you are stuck in dark mode, click the sun icon in the sidebar or header — you do not need to clear cookies or change your Mac/Windows appearance setting.

Roles

Everyone

PassPlace has four school roles plus a platform System Owner. Your home screen and menus match your role.

  • Teacher — creates and manages hall passes from the Create Hall Pass station, confirms arrivals on Incoming.
  • Principal / Master Admin — blue left sidebar (same layout as teachers) with PassPlace + school logos, grouped admin links, Reset app (red caution button at the bottom of the sidebar; three-step confirm ending with typing delete), screen-size slider, theme, and sign-out. Sign in at /principal/login (local: MASTERADMIN or PRINCIPAL).
  • Assistant Principal / Admin (AP) (local ADMIN username) — same blue admin sidebar for day-to-day ops: Control Panel, create-pass station, plus optional Principal-granted extras (reports, destinations, students, print, security monitor). Cannot open Principal-only tools while signed in as AP; use Principal sign-in at the bottom of the sidebar (or /principal/login) for Principal-only tools.
  • Security — phone hall monitor: List or 2-up Cards, green/amber/red status, Create pass (Hall / Security origin), notes, flags, and Send back to class (tracked return trip; teacher checks in). No Principal settings or Reset app.
  • System Owner — platform ops and View as… to preview school shells (including Assistant Principal / Admin (AP)) without changing your real role.
  • DEMO — walkthrough principal with Demo Controls and auto-sim only (not shown on ordinary Principal accounts).
  • Principals and System Admins (View as Principal) invite staff and assign school roles under Principal → Roles (/admin/roles). On that page, Principals grant optional Control Panel extras to Assistant Principal / Admin (AP). System Owner cannot be granted from that screen.

Invite staff and assign roles

Principals · System Admins (View as Principal)

Upload teacher emails as login invites, let teachers set their own password, track registration on the People tab, and approve Request access signups on Pending. One active school role per person.

  • Open Principal → Roles (/admin/roles). Tabs: Pending (access requests, default), People (roles + registration status), Advanced (invites, bulk CSV, assign by email, AP capabilities). A badge on Roles in the admin nav shows pending request count.
  • PD rollout: on Advanced → Bulk invite / CSV, paste teacher school emails (one per line) or load a CSV with an Email column, choose Teacher, then Send invites (max 75 per batch). Or invite one person under Invite staff.
  • Teachers open the invite email and set their own password (12+ characters). Their school email is the login — they do not invent a free-form username.
  • Pre-invited teachers are already active when they finish the invite — you do not approve each teacher one-by-one on PD day.
  • On People, check the Registration column for Invited / Registered / Not registered yet.
  • Request access signups and unexpected sign-ins without a pre-invite appear on Pending for principal Approve or Deny.
  • To change access for an existing account: find them on People and Save, or use Advanced → Assign by email (no email sent).
  • Staff directory (Principal → Staff) stores name/room only — it does not create a login. Use Invite staff or Bulk invite for that.
  • If Invite staff says the server is not configured, create the user in Supabase Auth, then Assign by email.
  • System Admin (platform owner) cannot be granted here. Role changes appear in Audit as roles.assign.

Teacher Create Hall Pass station

Teachers and Principals

One-screen station at /passes: pick destination and student(s), generate a pass, print immediately, and watch Currently Out.

  • Open Passes from the left sidebar (or land here after sign-in). School name, room, and your name are at the top of the sidebar; Schedules and Staff Directory are sidebar links.
  • Confirm the day banner and schedule tab match today’s bell schedule / day type. A quiet status line shows the period automatically from the bell schedule when a class is in session; teachers do not select it (it shows No active period between periods).
  • Choose a destination (Restroom, Nurse, Office, classroom, etc.). Or type in Teacher or room… to search the Staff Directory by first name, last name, room, or extension — pick a teacher/support person from the suggestions (name and room fill in as the destination).
  • Scan a student ID or type a name — search defaults to your Focus/imported class roster for the current period (not the whole school).
  • If you have not imported a Focus roster yet, a prompt links to Settings → Class Roster (Focus). Until then, search stays empty instead of listing every student in the school.
  • Need someone not on the list? Type first and last name for a walk-in (teachers: visitors from another room; principals: anyone not found in the school search). Press Enter or tap Generate & Print Pass — PassPlace creates the walk-in record and opens the print dialog. You can also tap Walk-in pass for … first to confirm the name. Teachers can tap Search all school to find someone already in the school list.
  • To enroll a genuinely new student in your class, tap Add to my class roster (grade and ID optional). They are added to your section and school-visible; your principal is notified to verify.
  • The status bar shows Hall current/cap (for example Hall 12/40) — a live hallway occupancy counter vs your principal’s capacity limit.
  • When leadership pauses new passes (manual or auto hallway capacity), a large red banner appears at the top of every teacher screen — you cannot miss it. Capacity pauses also show the live hall count and when passes may reopen. You cannot create new passes until an administrator resumes.
  • Optional: add a note before issuing.
  • Tap Generate & Print Pass or press Enter in the student field — the pass is created and your browser print dialog opens immediately (no confirmation or preview step). If you forgot the destination, the student name stays filled so you only pick the destination.
  • Scan a student ID with a destination already selected — after the scan, the print dialog opens automatically. The pass appears in Currently Out immediately. Above Pass Preview, choose Horizontal (5″ × 3″ landscape, default) or Vertical (3″ × 5″ portrait) — the choice sticks on this device. The on-screen preview matches the printed label (same type and layout; no outer black frame; pink fill, ZONE box, and signature still print). When printing: Margins None · Scale 100%; if Chrome lists “3 × 5 in” for a Horizontal pass, set Orientation to Landscape (5″ wide × 3″ tall). Turn on Background graphics for the pink fill — names, lines, and the ZONE box still print if it is off. Group passes list every student on the slip — full names when they fit, otherwise first initial + last name. Long names and group lists stay on one line by auto-shrinking the student-name font (down to a readable D450 minimum). Drag the signature freely across the pass to position it; scroll or pinch anywhere on the pass to resize.
  • On Currently Out, tap Reprint any time to open the print dialog again for that active pass — useful if the first print jammed or you need another copy.
  • Tap a student row on Currently Out to expand full destination details and receiving-teacher contact (room and classroom phone when on file). Tap again to collapse. Reprint, Cancel, and Check In still work without expanding the row.
  • Security and other stations update live (Realtime + a slow backup poll). Closes/returns often leave Security’s list immediately; new passes usually appear within about 1–3 seconds — no manual refresh needed.
  • When a receiving teacher marks Arrived, that completes the pass — the student leaves Currently Out and hallway capacity. You get a large Student arrived — pass complete popup (same prominence as incoming alerts) with a short success chime.
  • Restroom passes use the large Restroom card on the right (not Currently Out). Green = available, red = someone out with a countdown, amber = next student ready. See Restroom pass station.
  • Incoming students trigger a large alert that names who is on the way — hard to miss — with a short attention chime and optional vibrate when the browser allows it. After your first tap or keypress on the page, sounds play automatically; principals on the demo school can mute alert sounds under Demo Controls → Incoming pass sound.
  • If Encounter Prevention blocks a pass, read the Prevented modal — those students must not be out together.
  • If a student is locked by security flags, a warning explains the open-flag count and lockout end time. You can Cancel or Override & create pass — overriding is logged for your principal to review.
  • You can still create a pass if no class section matches the current period. Outside bell times, the status shows No active period; passes remain available only when policy allows between-period passes.
  • If today is not an instructional day on the school calendar (weekends/holidays), Generate & Print is blocked with a clear message — ask your principal to mark the day as a school day, or on the demo school use Demo Controls → Reset normal day (which forces today instructional for demos).
  • Use Not accepting students in the status bar when you need a quiet period — it turns on Do Not Disturb for the current bell period only (auto-off when the period ends) and reminds you every 15 minutes while it stays on.
  • Use Planning time to pick your planning bell period(s) and toggle Block passes during my planning period — other teachers see a planning-time block with your classroom phone when they try to send a student.
  • If another teacher has DND or planning-time blocking on, Generate & Print shows a clear alert with their name and phone — call first for emergencies.

Restroom pass station

Teachers

Dedicated restroom card with queue, countdown timer, and green/red status — separate from Currently Out.

  • On /passes, the Restroom destination tile and the large Restroom card on the right show green when a slot is open, red when someone is out, and amber when the next student is ready.
  • Tap the gear on the Restroom card to set how many students from your class can be out at once (1 recommended, 2 maximum) and the countdown timer (default 5 minutes).
  • Select Restroom, pick one student, and Generate & Print — if a slot is open, the pass prints and the countdown starts on the Restroom card.
  • If all slots are full, the student joins the waiting list. When someone checks in, the next student appears as Next up — tap Generate & Print pass to start their timer.
  • When the student returns, tap Check In on the Restroom card (not Currently Out).
  • Restroom passes follow the same 10/10 rule and pause/principal-hold rules as other passes — the card shows when creation is locked.

Do Not Disturb & planning time

Teachers

Control when other teachers can send students to you — manual DND for the current period, or scheduled planning-time blocking.

  • On /passes, find Not accepting students and Planning time in the status bar (next to Hall count and the schedule clock).
  • Tap Not accepting students to turn on Do Not Disturb for this bell period only. Confirm the dialog — DND auto-expires when the period ends (or at end of school day if between periods). A badge shows while DND is active.
  • While DND is on, every 15 minutes PassPlace asks if you are still not accepting students — turn DND off or dismiss the reminder.
  • Tap Planning time to choose which bell period(s) are your planning block (for example P3 · Period 3). Save your selection.
  • Turn on Block passes during my planning period when you want those periods to block incoming passes. Turn it off when you are available during planning (for example team meetings with walk-ins).
  • When another teacher tries to send a student to you while DND or planning blocking applies, pass creation is blocked in PassPlace with your name and classroom phone. They should call first for emergencies.
  • Restroom, nurse, office, and other non-teacher destinations are not affected — blocking applies to passes sent to your supervised classroom destination.
  • Set your classroom phone under Settings → My profile so colleagues see it on block alerts and in the staff directory.

Pass log

Teachers, Security, Principals

Collapsible pass history on /passes with search, notes column, Print for active passes, and Edit for period, grade, and notes.

  • On Create Hall Pass (/passes), expand Pass Log at the bottom — or open Settings → Pass Log for the full admin/teacher reports view.
  • Filter by newest/oldest, today, or this week; search by student, destination, or period.
  • Notes column shows the latest pass note (truncated). Full text appears in Edit.
  • Print reopens the slip for active passes only; returned passes show N/A for print.
  • Edit is available for passes you can access that are not cancelled. Student name and student ID are read-only.
  • Editable fields: period (on the pass), grade (student record), and notes (append-only, up to 2000 characters). Destination is read-only in the form.
  • Teachers see their related passes; Security and principals can edit any pass they can access under school policy.

Security flag lockout (teacher override)

Teachers and Principals

After enough open security flags, a student is locked out of new passes for a set time (default 3 flags → 24 hours). Teachers see a clear warning and may override; every override is logged for principal review.

  • Try to create a pass as usual (Generate & Print or scan with a destination selected).
  • If the student is locked, the lockout modal shows open flag count and when the lockout ends.
  • Read the warning: Your principal will see this override.
  • Cancel if the student should stay in class, or Override & create pass (optional short reason recommended).
  • Principals review overrides under Principal → Flag lockouts (/admin/flag-lockouts).
  • Clearing open flags below the school threshold restores access immediately; waiting out the lockout window also restores access.

Incoming

Teachers and Principals

Inbound students and Security returns use a large Allow / Deny popup on Create Hall Pass; Arrived clears the hall. Deny notes go to the sending teacher (or Security). The header bell lists unread alerts.

  • Open Create Hall Pass — inbound students show a large popup naming who is coming and from whom (including Security notes).
  • Tap Allow to accept them into Currently Out / Coming to My Room, or Deny (requires a short note) to reject.
  • When you Deny, the sending teacher (or Security if they sent) gets a large hard-to-miss alert and a header-bell notification with the student name, who denied, and your reason — so they can tell the student. The pass clears from Currently Out / the hall board.
  • When the student reaches you, tap Arrived on Currently Out (or on the popup for returns) — that closes the active pass and clears Security’s hall board. The sending teacher gets a large Student arrived — pass complete popup.
  • Did Not Arrive does not clear the hall — the student stays visible until you mark Arrived (or Security clears a stuck return).
  • Optional: open Incoming history from the header bell → Open details for notes and timeline.
  • Outgoing cards on Incoming history show arrivals you sent that others must confirm.
  • Optional: enable Phone alerts under Settings so you still get a lock-screen push when PassPlace is not open on your phone.

Phone alerts (lock screen)

Teachers, Security, Principals

Opt in to Web Push on your phone so incoming students, deny notices, send-backs, arrivals for Security, and overdue returns still alert you when PassPlace is not open. Uses the installed PWA — not a separate store app. In-app banners and the header bell are unchanged.

  • iPhone: Chrome cannot receive Phone alerts. Use Safari → Share → Add to Home Screen → open from the Home Screen icon → Settings → Phone alerts → Enable alerts on this phone. If you see “This browser does not support Web Push…”, you are still in Chrome or a Safari tab — switch to the Home Screen app.
  • Android (Chrome): open PassPlace, sign in, optionally Add to Home screen, then Settings → Phone alerts → Enable alerts on this phone and allow notifications.
  • Settings → Phone alerts always shows these how-to steps on the page.
  • Pushes cover: student incoming (Allow/Deny), deny-to-sender / Return denied, Security send-back inbound, student arrived for Security, and overdue / arrival-warning style alerts.
  • After your first inbound station alert, you may see a short Enable alerts on this phone? prompt — you can enable there or later in Settings.
  • Turn off anytime from Settings → Phone alerts on that same phone.

Schedules, Staff Directory & Settings

Teachers (station) · Principals / System Admin (school-wide)

Bell schedules and day types drive period detection. Settings split School-wide (principal only) from My station (your desk).

  • Teachers may switch schedule tabs on the pass station when the school unlocks schedule selection (Demo Controls).
  • Principals set today’s school-wide schedule and day type from Demo Controls or Calendar / Schedules.
  • Open Settings (nav). Use the **School-wide** / **My station** filter. School-wide items include logo, pass rules, hallway zones, bell schedules, and imports — only principals and system admins can edit them. Assistant Principal / Admin (AP) and teachers only see My station. **Phone alerts** (lock-screen Web Push) lives under My station for teachers, Security, and admins.
  • Every settings field includes helper text explaining what it does — read the gray text under each control before saving.
  • School name and pass zone label under School & Teacher are principal/system-only; room and phone stay on your station.
  • Staff Directory (/staff-directory) lists staff rooms and phones for quick lookup.
  • Teachers: Settings → Class Roster (Focus) — export only your students for a period from Focus (Student ID, Last, First, Grade), choose that period, and Import Focus roster. Create-pass typeahead then shows your classes only.
  • Principals: Imports (/admin/imports) for Teachers, Support & office staff, or Students — Upload → Match & fix → Import. Teacher priority: last name, first name, dept, room #, phone. Support: Name / Extension / Title-Location (or first/last/phone/title/department CSV). Students: student number + first + last. Incomplete rows sort to the top in rose (Needs attention); filter All / Ready / Needs attention, then click cells to fix. After import, use Edit on Staff or Students. Staff directory filters Teachers vs Support.
  • Use the sun/moon button at the bottom of the teacher sidebar for a quick light/dark switch.

Where to find settings

Teachers · Principals · Security · AP

Personal settings live in the Settings overlay on Create passes. School-wide policies live in the Principal sidebar. Every control now includes a short explanation of what it does.

  • Teachers & Security: open Settings from Create passes (/passes?settings=1). Filter My station for room, signature, appearance, phone alerts, frequent destinations, and class roster. Security sees phone alerts, staff directory, and pass log only.
  • School-wide (principal): same Settings overlay with School-wide filter — pass defaults, logo, zones, schedules links, imports. Or use Principal sidebar: Policies (pass rules, flag lockouts, encounter prevention, arrival policies), Schedule (calendar, bell schedules, destinations), Tools (print, imports, reports).
  • Live operations: Control Panel (/admin) — soft pause, auto hallway capacity pause (capacity + resume when), and lockdown. Not under Pass rules.
  • Pass rules (/admin/pass-rules) — school-day open/close times, 3pm auto-close open passes, 10/10 near-bell rule, roster policy, flag lockout thresholds, security return timing.
  • School setup (/admin/setup) — new-school checklist plus a “Where to find settings” map linking Control Panel, policies, and print.
  • Pass zone label (principal): Settings → School & Teacher — printed in the zone box on every pass (e.g. 11 BUILDING).
  • Device PIN: Settings → School & Teacher. Phone alerts / PWA: Settings → Phone alerts (iPhone requires Add to Home Screen first).
  • Each field on admin policy pages and in Settings includes helper text beneath the label — read it before changing a value.

School setup checklist (new school)

Principals and System Admins

When a school starts from scratch, Principal Hallway and School setup list everything that must be configured before day-to-day use. Items auto-complete when the matching data exists.

  • Sign in as Principal (/principal/login) or System Admin, then open Principal → Hallway or Principal → School setup (/admin/setup).
  • Work through the checklist: school logo, staff roster, student roster, bell schedules with periods, calendar days, hallway zones, destinations, pass rules, and staff logins/roles.
  • Each incomplete item links to the upload or settings page. Progress updates automatically when records are present — no manual checkboxes.
  • Scroll below the checklist on School setup for a “Where to find settings” map (Control Panel, pass rules, arrival policies, encounter prevention, flag lockouts, print).
  • Teachers and Assistant Principal / Admin (AP) do not see this checklist and cannot change school-wide settings.

Control Panel, soft pause & lockdown

Principals and Assistant Principal / Admin (AP)

Control Panel (/admin) shows who’s still out in the halls, soft pause / auto hallway capacity pause, and lockdown. Arrived students are not on this board. Principals also see incomplete school setup. AP always has Control Panel; Principals grant optional extras on Roles.

  • Open Control Panel (/admin) from the admin sidebar (AP home) or Principal → Control Panel.
  • If you are Principal and School setup is incomplete, finish those school-wide items first (or open Full setup).
  • View switcher — pick Simple (compact stats + full table), Dashboard (hero + charts), Status board (large tiles), Focus (giant hall count + short list), or Pulse (capacity ring + status strips). Your choice is saved on this device (passplace.controlPanelView).
  • All five views use the same live data: students still out, capacity, overdue, DNA, destinations. Arrived completes the pass — they leave counts and the list.
  • Click any metric tile, chart bar, or status strip to open a detail list — student names, teachers, destination, elapsed time, and status. Works in Simple, Dashboard, Status board, Focus, and Pulse. Cancel pass after verifying with the sending teacher or Security (overdue / stuck passes).
  • Simple & Dashboard: full searchable Current hall activity table. Focus & Pulse: condensed who-and-where list. Status board: wall-monitor tiles (use another view for the full table).
  • Pause new passes for a calm “halls are busy” stop (not lockdown). Teachers see a large red banner on every teacher screen as soon as pause is active — they do not need to start creating a pass first. When passes reopen, teachers briefly see a green “Pass system resumed” banner with a short chime.
  • Auto hallway capacity pause: at hallway capacity, new passes pause; when out count drops to your resume number (default ~75% of capacity), creation reopens and the banner clears automatically.
  • While paused, Principals see an enlarged red banner on every admin screen, a large pause alert on the Control Panel, and a reminder dialog every 15 minutes to resume passes.
  • Lockdown stays on the same screen for emergencies — stronger than soft pause.
  • Scan Current hall activity for the live student table. Updates via Realtime plus a slow backup poll.
  • Principal-only: Roles, Reset app, schedules, calendar, school setup, policies, imports, audit. AP may receive grants for reports, destinations, students, print, or security monitor.

Students, Staff, Classrooms, Sections, Calendar, Schedules, Destinations

Principals

Admin People and Schedule menus maintain the school roster and map of the building.

  • Students — search, open profiles, review pass history. Use Edit on any row to fix names or IDs after import. Needs verification lists students teachers added from Create Hall Pass when they were not on the roster — Verify keeps them, Dismiss archives the draft.
  • Staff — manage staff directory records (name, email, title, room). Tag as Teacher or Support & office; filter in the directory. Use Edit to fix import mistakes after the fact.
  • Roles — Bulk invite teacher emails, track Invited/Registered status, or assign Teacher / Assistant Principal (AP) / Principal / Security (/admin/roles). Does not grant System Admin.
  • Classrooms — rooms and hallway zones.
  • Sections — course sections, teachers, enrollments, periods.
  • Calendar — fill Blue/Green days for the school year; mark holidays, swap one day, or reset the color pattern from a date (/admin/calendar).
  • Schedules — edit bell schedule templates and period times in 12-hour AM/PM (/admin/schedules). Standard / Early Release / Professional Study samples included.
  • Destinations — where passes can go, capacity, arrival confirmation requirements.

Blue and Green school calendar

Principals

Fill alternating Blue and Green school days for the year so teachers know which period set is in play. Green days use periods 1–4; Blue days use periods 5–8.

  • Open Principal → Calendar (under Schedule).
  • Enter the first day of school, last day of school, and starting day color (Coral Springs demo starts on Green).
  • Tap Fill school year calendar. Confirm when asked — this replaces auto-filled weekdays from today forward.
  • Weekdays Monday–Friday alternate colors. Saturdays and Sundays are no school and do not flip the color.
  • If the first day of school falls on a weekend, the starting color applies to the next weekday.
  • Holidays and other days you set by hand are kept when you refill. Past days never change.
  • Use Change one day to mark a holiday (no school), swap Blue/Green for a single date, or pick a special bell schedule.
  • After a hurricane day or mis-sync, use Reset pattern from a date to re-alternate colors from that day forward without changing the year start date.

Bell schedules (edit periods)

Principals and System Admins

Create and edit Standard, Early Release, and Professional Study templates. Teachers see 12-hour AM/PM times; only principals edit school-wide schedules.

  • Open Principal → Schedules (/admin/schedules).
  • Seed Coral Springs sample schedules, or create a template (Normal / Early Release / Professional Study pre-fills sample periods).
  • Edit period names, start/end times (AM/PM), add or remove periods, and rename templates. Standard lists first.
  • Combined labels like Period 1/5 mean Green day → period 1 and Blue day → period 5.
  • Teachers and Assistant Principal / Admin (AP) cannot edit schedules — they only view them from the pass station.

Pass rules, Flag lockouts, Encounter prevention, Arrival policies

Principals

Policies control how many students may be out, who may travel together, the near-bell (10/10) create rule, security-flag lockouts, and late-arrival alert timers after a pass is issued.

  • Pass rules — hallway/teacher capacity, group size, overdue warning, emergency override, near-bell rule (classic 10/10), school day pass hours (default 7:00 AM–3:00 PM local for when new passes may be created) plus a separate Principal toggle to auto-close still-open passes at end of day (on by default), security flag lockout (open flags before lockout + hours; defaults 3 / 24h; 0 threshold turns lockout off), and Security return-to-class check-in window (default 4 minutes before Security is warned the student has not arrived back).
  • Flag lockouts — review teacher overrides of flag lockouts (student, teacher, time, reason, pass link) at /admin/flag-lockouts; same settings can be edited there.
  • Encounter prevention — groups of students who must not be in the hallway together; blocked at create time with a clear modal.
  • Arrival policies — late-arrival alerts after a pass is already out (not the bell rule): when teachers/admins get warned if a student is slow to arrive (first warning → second alert → admin escalation), plus escalate “didn’t arrive” to admin. Looking for 10/10? That’s on Pass rules.

Print, Imports, Reports, Audit, Reset app, Demo Controls

Principals (teachers use Print/Reports in staff nav; Demo is DEMO-only)

Tools for printing passes, loading rosters, analytics, audit history, selective Reset app, and DEMO-only live toggles.

  • Print — reprint or manage pass print jobs (teachers and principals).
  • Reports — pass log, student/teacher accountability, and arrival reports with charts (pass volume by day, destination mix, arrival outcomes, top students/teachers). Filter, then export CSV or print-friendly view when needed (teachers and principals).
  • Imports — CSV roster / data imports with column matching, editable preview, and error download (principals). Teachers, Support & office, and Students are separate import types. Incomplete rows are skipped and sort to the top in rose (Needs attention); use All / Ready / Needs attention, then click cells to fill missing student number / names and mark Ready. After import, edit in Staff or Students directories. Email/employee number stay optional.
  • Audit — administrative change history (principals).
  • Reset app — red caution button at the bottom of the Principal sidebar (also on Control Panel for Principals and System Admin → /owner). Three-step confirmation: choose areas, confirm consequences again, then type the word delete exactly. Passes, notifications, hallway state, and demo settings default on; student/staff directory and schedules default off. Teachers and Assistant Principal / Admin (AP) do not see this control.
  • Demo Controls — only when signed in as DEMO: local toggles plus Reseed normal day scenario (refreshes a green/red Security mix when passes go stale). Ordinary Principal accounts do not see Demo Controls.

Security monitor

Security and Principals

Phone-friendly hall monitor at /security: live counts, Create pass for students found without one, collapsible filters, List or 2-up Cards, green/amber/red status, pass detail, notes, concern flags, and Send back to class. Returns/closes often clear immediately; new passes usually show within about 1–3 seconds (Realtime + slow backup poll); overdue return-to-class alerts fire automatically.

  • Sign in as Security (or View as Security) and open /security — built for phones in the hall.
  • To issue a pass for a student found without one: tap Create pass, search the school roster by name or ID, choose a destination, add an optional note, then Create pass. Origin shows as Hall / Security (not a classroom station). Security can issue during near-bell / between-period windows; lockdown and capacity still apply. You do not get the full teacher Create Hall Pass station, print presets, or Principal settings / Reset app.
  • Use Out / Overdue / Flags chips for a quick pulse; search stays at the top. When a teacher creates or closes a pass, this list updates live (closes often instantly; new passes within a few seconds) — stay on the screen; no manual refresh.
  • On phone, open Filters for Active/Overdue/Flagged/Recent plus zone and destination (always visible on larger screens).
  • Choose List (dense rows, default on phone) or Cards (2 columns on phone; 3–4 on larger screens) — saved on this device.
  • Green = valid hall pass; amber/yellow = Return to class (security send-back in progress); red = issue (overdue, DNA, or open flag) — red wins over amber if a return is overdue. After a local reseed you should see a mix under Active — if every card is red, use Demo Controls → Reseed normal day scenario.
  • Tap a pass to open the detail sheet (slides up on phone); leave a note or flag a concern.
  • To send a student back to their teacher: tap Send back on the list/card row, or open the pass and use Send back to class. Write a required note explaining why, then Confirm send back. That closes the outbound pass and opens a tracked return trip (From: Hall / Security → the issuing classroom teacher). The student stays on the Active hall list on that return pass until the teacher checks them in. The teacher gets a large station alert with Allow / Deny and Arrived. If the teacher Denies with a note, Security gets a large Return denied alert (and header bell) with who denied and the reason — the return pass clears off Active. When the teacher marks Arrived, you get a large arrival banner and the student leaves Active immediately. If they have not checked in within the school’s return window (default 4 minutes), you get a large overdue alert naming the student and teacher — student is still in the hall. If the teacher never checks in (or marked Didn’t arrive by mistake), open the return pass and use Mark arrived / clear hall so the board does not stay stuck. Stay on the Active filter (not Recent) — Recent only shows already-closed passes.
  • Cancel pass: after locating a student or confirming with their teacher that they are already back, open the pass detail and tap Cancel pass. Use when the pass is stuck overdue on the board — not instead of Send back when the student is still walking. The sending teacher is notified.
  • Principals can clear open flags from the Security detail when signed in as admin — clearing enough open flags can end a student’s pass lockout early.
  • Enough open flags lock the student out of new passes (default 3 → 24h). Teachers and Security may override when issuing; principals review overrides on Flag lockouts.
  • Optional phone lock-screen pushes: Settings → Phone alerts (iPhone must Add to Home Screen first). Covers Return denied, student arrived, and overdue return when PassPlace is not open.

System operator access

District IT and PassPlace operators

System operators (platform owners) manage /owner, View as… previews, pass layout, and beta feedback. This is separate from school Principal — principals cannot grant themselves system access.

  • Request access from an existing PassPlace system operator or your district contact.
  • You need a normal PassPlace login first — accept a school invite or sign in once at /login so your email exists in Auth.
  • An existing operator adds your email on /owner → System operators, or runs operator SQL on system_owners.
  • Sign in at /login with your school email, then open /owner (link: System operator? → Platform console).
  • Principals use /principal/login and /admin — not /owner. School roles on /admin/roles never grant system operator access.

System Owner & View as

System Owners

System Admin (/owner) manages platform access and can preview Principal, Assistant Principal / Admin (AP), Teacher, or Security shells.

  • Sign in as System Owner and open /owner.
  • To add another operator: System operators card → enter their email (they must have signed in once) → Add system operator.
  • Use View as… to pick System Admin, Principal / Master Admin, Assistant Principal / Admin (AP), Teacher, or Security (and school), then Switch view.
  • Preview reads elevated data; most writes stay on real role accounts (banner explains this).
  • Exception: View as Security can leave notes/flags and Send back to class for demos; View as Principal can assign school roles on /admin/roles. View as AP shows the ops Control Panel shell (not Principal-only tools).
  • Return to System Admin anytime from the banner.

Pass layout creator (System Owner)

System Owners only

Design the hall-pass face (drag, resize, snap, editable labels) for a school. Saved layouts drive teacher preview and print. Signature line is label + underline only — teacher ink is positioned freely on the full pass and is not cropped by the line box. Optional student barcode, inverted student name, and inverted zone. Principals and teachers cannot edit the designer.

  • Sign in as System Admin → Pass layout creator on /owner, or open /owner/pass-layout.
  • Choose the school, then Horizontal (5×3) or Vertical (3×5).
  • Drag elements to move; use the corner handle or property panel to resize. Snapping aligns to edges/centers (toggle Snap; light guides show when active).
  • Select an element to edit its label/prefix (HALL PASS, Student:, From:, Signed by {name}:, etc.), show/hide it, or change font size. Zone defaults to a centered partial-width badge.
  • Signature line places only the Signed by… label and underline. Teachers drag/resize their signature ink freely across the full pass on Pass Preview — not limited to the line box or ZONE — and shrinking the line box does not crop the ink.
  • Optional: Include student barcode when scanned/typed — prints a scannable CODE128 from the roster barcode (falls back to student number / typed ID). A handheld 1D scanner should type that same value into create-pass STUDENT ID — SCAN TO FILL.
  • Optional: Inverted student name or Inverted zone — black box with white text (defaults keep classic light style).
  • Save layout for that school. Reset to classic default matches the built-in pass. Clear custom returns the school to the built-in face.

Beta Feedback

Everyone

Use Send feedback in the teacher sidebar (or top bar on Principal/AP admin and Security) to save beta notes in PassPlace for the team to review — nothing is sent via email client.

  • Click Send feedback in the sidebar (teacher) or top bar (Principal/AP admin, Security).
  • Choose Feedback, Bug, or Feature, then add a title and details.
  • Include your name and contact email so the team can reply.
  • System Owners review submissions under /owner/feedback.

Privacy, FERPA & production compliance

Principals / district IT / System Owners

PassPlace stores school-authorized student and staff pass data with multi-tenant access controls. It is not a zero-access product — authorized staff can see names as needed to run hall passes. Live school use also requires district contracts and vendor DPAs.

  • Technical safeguards include school-scoped access (RLS), roles, audit history, and minimized sensitive fields (no medical/behavior scores).
  • Before schoolwide live use, complete the operator checklist in docs/FERPA_AND_PRODUCTION_COMPLIANCE.md (school agreement, Supabase/Vercel DPAs, production secrets, no demo mode on real students, logging without student PII).
  • District packet: docs/IT_ADMINISTRATOR_BRIEF.md, docs/SUBPROCESSORS.md, docs/SCHOOL_OFFICIAL_AGREEMENT_TEMPLATE.md, docs/DPA_TEMPLATE.md, and the public /privacy page.
  • Production blocks DEMO / special walkthrough logins unless PASSPLACE_ALLOW_DEMO_LOGINS=true — never enable that on a school with real students.
  • Optional field-level encryption of names/IDs is a hardening roadmap item — it protects database dumps, not a claim that operators can never see data.
  • Ask school/district counsel to review agreements; code alone does not make a product “100% FERPA compliant.”

Before disabling demo logins (Principal email check)

Principals and System Owners

Verify real-email Principal sign-in at /principal/login in incognito before PASSPLACE_ALLOW_DEMO_LOGINS is turned off on production.

  • Confirm your real school email has school_admin + is_principal (Principal / Master Admin), not Teacher only.
  • Open a private/incognito window so you are not already signed in as DEMO or MASTERADMIN.
  • Go to /principal/login on production and sign in with your full email and password (not the MASTERADMIN username).
  • Confirm you can open /admin and see Principal-only tools (e.g. Roles, school setup).
  • Test Forgot password on that email once if you have not already.
  • Only then set PASSPLACE_ALLOW_DEMO_LOGINS=false on Vercel production. MASTERADMIN and @passplace.local / @passplace.demo logins will stop working.
  • If email login fails but MASTERADMIN works, grant Principal via /admin/roles → Assign by email while signed in as MASTERADMIN.

Multi-factor authentication (MFA)

Principals and System Owners

Enroll an authenticator app before PASSPLACE_REQUIRE_MFA is enabled on production. Required for /admin and /owner when that flag is on.

  • Sign in at /principal/login (or your normal login) with johnplacenet@gmail.com or your Principal email.
  • Open /auth/mfa-setup — or tap Set up MFA on the yellow banner at the top of /admin or /owner.
  • Tap Set up authenticator app, then scan the QR code with your phone.
  • On iPhone: install Google Authenticator, 1Password, or use built-in Passwords → Codes → + (scan QR). Microsoft Authenticator also works.
  • Enter the 6-digit code from the app and tap Verify and finish.
  • Save the manual key shown under the QR code in a secure backup location (e.g. 1Password) in case you lose your phone.
  • Tell your operator when enrollment is complete so they can set PASSPLACE_REQUIRE_MFA=true on Vercel production.

Production security checklist (principals)

Principals and System Owners before go-live

Operational steps to run PassPlace safely with real students — in addition to district legal review.

  • Complete Before disabling demo logins (email check at /principal/login) before turning PASSPLACE_ALLOW_DEMO_LOGINS off on production.
  • Execute school-official / DPA documents with your district and PassPlace operator; ensure Supabase and Vercel DPAs are signed.
  • Enroll multi-factor authentication: open /auth/mfa-setup (or follow the banner on Principal / System Admin pages). Enable PASSPLACE_REQUIRE_MFA on production when all privileged accounts are ready.
  • Use invite-only staff accounts (/admin/roles → Invite staff). Remove or suspend departed staff promptly.
  • Train staff on pass note policy (no medical, IEP, or discipline narrative in notes).
  • Limit CSV exports and report access to staff your school policy allows; review audit history after the first pilot week.
  • Point district IT to docs/IT_ADMINISTRATOR_BRIEF.md for allowlists, data inventory, and subprocessors.

Pass note policy

Teachers, security, principals

Free-text pass notes are for brief operational context only — not student health, disability, or discipline records.

  • Acceptable: “Return by 10:15”, “Nurse sent back”, “Library computer pass”, room or destination context.
  • Do not enter: medical diagnoses, medications, IEP/504 details, mental-health crises, discipline investigations, or insults about students.
  • Security and hallway staff may see notes — treat them like hallway radio traffic, not confidential counseling records.
  • Principals: include this rule in staff training and revisit during walkthroughs. PassPlace does not provide a separate medical-reason field by design.
  • If sensitive information was entered by mistake, ask your principal about pass cancellation and whether your school’s records policy requires additional steps.

Local DEMO login

Local demonstration only

On a local demo environment (or production only when PASSPLACE_ALLOW_DEMO_LOGINS is explicitly enabled), sign in with username DEMO to walk the Principal experience — including an automatic live hallway simulation.

  • Production: DEMO and special usernames are disabled by default. Do not enable demo logins on schools with real students.
  • On /login, enter username DEMO (no @) — case-insensitive; maps to demo@passplace.local.
  • Password: demodemodemo
  • Role: Principal walkthrough (school_admin) — Hallway, Demo Controls (DEMO-only), Create Passes, reports.
  • Nav chrome: only this account shows a DEMO ACCOUNT badge next to the role label. Ordinary principals never get Demo Controls or that badge.
  • Auto demo: after DEMO signs in, a banner starts a ~10-minute background simulation targeting ~12–18 students out at once (create/arrive/return, occasional cancel or security note; faster cadence with backfill when under target). Open /admin Hallway to watch live activity; Pause / Resume / Restart from the banner. Manual clicks still work while it runs.
  • TEACHER, ADMIN, MASTERADMIN, and other accounts do not auto-run the simulation — only the DEMO account does.
  • Other special usernames (also without @): TEACHER, ADMIN (Assistant Principal / Admin (AP); no Principal tools), MASTERADMIN / PRINCIPAL (Principal tools, no Demo Controls), SYSTEM, VIEW / SECURITY (see docs/DEMO_SEED.md).
  • After seed changes, run npm run seed:local-demo and ensure:special-logins as documented.

Auto demo simulation

DEMO principal only (local demo)

When signed in as DEMO, PassPlace drives realistic hallway activity for about 10 minutes — roughly 12–18 students out at once — so a principal walkthrough feels like a mid-size school day (~50 teachers / ~500 students in the seed).

  • Sign in as DEMO / demodemodemo, then open Principal → Hallway (/admin).
  • A DEMO ACCOUNT badge appears in the nav only for this login; school demo mode does not add a DEMO pill for other staff.
  • A bottom banner shows “Auto demo running” with remaining time. Events fire every few seconds using real pass APIs (create, arrive at destination, return/check-in, rare cancel, occasional security note). Under ~12 out, the sim creates more aggressively to fill the board. It closes stale overdue passes first so Security stays a green/red mix.
  • Use Pause to stop new simulated events; Resume continues the same window. Restart begins a fresh ~10-minute run.
  • If Security shows every card red after idle time, open Demo Controls → Reseed normal day scenario (or Restart auto-demo).
  • You can still use lockdown, filters, Create Passes, Incoming, and Demo Controls manually at any time — the simulation does not lock the UI.
  • Only demo@passplace.local on the local Coral Springs demo school triggers this. ADMIN / TEACHER / other principals are unaffected.

Kiosk mode (classroom self-service)

Teachers with a classroom computer or iPad

Students scan their ID at the classroom kiosk to request hall passes, confirm identity, pick a destination, and check in on return — without the teacher typing names or printing manually.

  • On your pass screen, use the Teacher / Kiosk switcher to open kiosk mode on this computer. Students cannot switch back — only you can, with your quick PIN via Back to teacher.
  • You stay signed in — the kiosk uses your class, room, period, and destinations automatically. No pairing codes required for this workflow.
  • Students scan their student ID QR code, confirm their name, then pick a destination the same way you do on the teacher pass screen: main tiles (Restroom, Office, Guidance, Nurse, Media, Other) plus type a teacher or room name to search.
  • Students tap Request pass after choosing a destination. Open locations (Front Office, Guidance, Nurse, Media Center, Restroom) print immediately with no approval wait — the kiosk goes straight to print and back to scan. Teacher destinations show a 20-second countdown while waiting for Allow or Deny, then a Pass accepted or Pass denied screen. Silent printing is available with the optional local print connector (Settings → Pass printing); otherwise the browser print dialog opens.
  • Pass rules (capacity, schedule, encounter prevention, flag lockout) still apply — students see friendly messages only.
  • Restroom requests use your restroom queue; if full, the student joins the waiting list.
  • When returning, scan again — Welcome back shows where they came from. Check in confirms success on screen, then the kiosk returns to scan.
  • Tap Teacher in the top corner to return to your normal pass screen — you’ll need your quick PIN (Settings → School & Teacher) so students can’t exit kiosk mode.
  • Test QR codes for kiosk scanning live on the teacher pass screen under the mode switcher, not on the student kiosk.
  • Optional: principals can still set up dedicated paired devices under Admin → Kiosk for shared carts without a teacher login.

Principal presentation cheat sheet

Presenters and demo leads (Coral Springs High School)

Condensed run-of-show for a ~20-minute principal demo in production. Demo logins are disabled — only real accounts work. School: Coral Springs High School (ID aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa).

  • Login (only working account): sign in at /principal/login as johnplacenet@gmail.com (John Place — school_admin + Principal). No @passplace.demo, MASTERADMIN, or special usernames in production.
  • 20-minute run of show — 0:00–2:00 Setup: sign in, open Hallway (/admin). Audience sees live board, capacity, school name. 2:00–5:00 Issue a pass: Create Hall Pass (/passes), scan/type Sofia Martinez 2401847 → Room 305 · Robert Hayes (or Restroom). 5:00–8:00 Hallway & arrival: mark arrived; try James Wilson 2402156 → Room 118 · Patricia Nguyen. 8:00–11:00 Security: /security on phone or View as Security from /owner — active pass, flags, Send back to class. 11:00–14:00 Admin: Control Panel pause/lockdown; Staff directory for demo teachers/admins. 14:00–17:00 Roster & reports: Students (5 demo IDs), Reports volume, inbound alerts if time. 17:00–20:00 Q&A: Ethan Brooks 2401988 or Olivia Chen 2402231; Amanda Foster Room 422. Demo section: Period 2 English (PRES-ENG-P2-422) — all 5 students with Amanda Foster, Room 422.
  • Demo students (scan or type ID; students do not log in): Sofia Martinez 2401847 (grade 10) — primary first pass. James Wilson 2402156 (11) — second pass → Room 118. Ethan Brooks 2401988 (9) — spare / Q&A. Olivia Chen 2402231 (12) — spare / senior. Noah Rivera 2402074 (10) — spare / same section as Sofia.
  • Demo teachers (issue pass to their room): Carlos Mendez Room 214 English · Patricia Nguyen 118 Math · Robert Hayes 305 US History · Amanda Foster 422 Video Production · Michelle Zymet 156 Science. Directory @cshs.edu emails are display-only unless invited.
  • Administrators (staff directory): Dr. Patricia Morrison Principal · Kevin Walsh AP · Lisa Harmon AP · Sam Ortega Security — directory only. John Place Video Production / Demo Lead — johnplacenet@gmail.com (only login).
  • Pre-demo checklist: confirm PASSPLACE_ALLOW_DEMO_LOGINS=false; sign in before the room arrives; Hallway shows Coral Springs High School; test lookup 2401847 → Sofia Martinez; destinations include Rooms 214/118/305/422/156; today is an instructional day; printer connected if using paper passes; phone charged for Security UI; close extra tabs and notifications.
  • Quick recovery: student not found → type full ID (2401847), not name fragment. Can't issue pass → check calendar day type, lockdown, or pause. Hallway empty → issue a pass first. Wrong school → confirm johnplacenet@gmail.com at CSHS.

Source of truth for agents: docs/USER_GUIDE.md and src/features/help/user-guide.ts.