The difference shows up on an ordinary Tuesday: you build a serving team once, and it is already an audience you can email, a register you can take attendance against, and a pool the scheduler can draw from. Nothing has to be re-entered, because nothing was duplicated in the first place.
If a module ever needs its own version of one of these, that is treated as a design fault and the primitive gets extended instead. It is an unusual rule to hold to, and it is the reason the pieces fit.
One directory record per human being. Every roster, assignment, check-in and message resolves to it, so no module keeps its own copy of a phone number to go stale.
Teams, small groups, Bible classes and mailing lists are one thing with a type. Build a roster once and it is an audience, a class register and a scheduling pool.
One scheduling engine. A position on a service plan, a seat on a class rota and a slot at an event all invite, accept, decline and swap through the same flow.
A record in its own right, not a by-product of a kiosk. A check-in station writes it, and so does a teacher marking a register or an usher counting heads.
Audience, template, channel, delivery log — in that order, every time. The in-app inbox is a channel on the same pipeline rather than a second system.
One file service with real permissions, inherited from whatever the file is attached to. A background-check document is not readable by everyone who can see a lesson plan.
All 13 of these read real data today. Availability chips are still read from the same list the app uses to explain its own empty pages — so if a module ever deferred again, this page would say so with the deploy rather than a hand edit.
The directory, with the family structures churches actually have — including a child who belongs to two households. Per-person privacy, duplicate detection, and a merge tool that repoints everything.
Rosters for small groups and Bible classes, plus smart lists: a saved filter that stays current instead of a hand-picked list that rots. "Members, has kids under five, joined this year" is one list, always right.
Positions, qualifications, and each volunteer’s own availability and blockout dates — the facts the scheduler needs before it can ask anyone anything.
Service types, plans, and the order of service. Assignments go out, volunteers accept or decline from a link with no login, and auto-fill respects blockouts, conflicts, and whose turn it is. The live orchestrator keeps the service moving from the booth.
Recurring events that survive daylight saving — nine in the morning stays nine in the morning — with room booking, capacity and waitlists, and registration through a public form link anyone can open.
Ministry and room calendars, and a personal “my schedule” feed each volunteer subscribes to once in Apple or Google Calendar. Their commitments turn up where they already look.
Station-based check-in with kids security codes, guardian pickup matching, classroom companion mode, parent pages on presenter screens, guest signup, and per-station questions — built so Sunday morning keeps moving.
Displays, playlists and stream URLs you configure on the web today, ready for foyer screens and the Apple TV app. Parent-page overlays reuse the same kids security codes check-in already minted.
Funds, batches and contributions on an offline ledger — envelope entry, soft credits, anonymous gifts — with person as the donor of record and household as the statement unit. Year-end tax statements come next on the same ledger.
Class rosters, a versioned curriculum library, lesson schedules, and Promotion Sunday that previews every grade move before anyone clicks execute — including remapping children onto their next classroom.
Building addresses, room configuration, and floor-plan maps you draw once — then check-in stations and digital signage show parents where to go.
A builder with conditional fields, public fill links protected by Turnstile, and submissions that match to existing people for review rather than silently creating duplicates. The same forms bind as check-in questions on a station.
Templated email to any roster or smart list, with a delivery log that says what arrived. Scheduling requests and newsletters are handled differently, because the law treats them differently.
Station search, household selection, security codes, classroom confirmation, and pickup matching — one path, drawn the way a volunteer explains it with their hands.
Search by name or phone at the station. Lookup stays fast even when the foyer is full.
Select family members and their destinations — today’s service, a class session, or an event.
When the station binds a form, allergies and first-time visitor notes are asked before anyone is written in.
Kids mode mints a household code on the confirmation screen. Parent-facing surfaces show the code, not the child’s room.
Teachers mark kids Here on the companion clipboard. Admins can move a child between rooms without re-checking them in.
Checkout matches the code to an authorised adult — or a self-checkout authorisation — and soft-denies a mismatch on self stations.
After “does it do scheduling”, these are the questions that decide it.
Tell us what your week looks like and what you are running now. If this is not ready for your church yet, we would rather say so than sell you a migration.