Guild Staff Dashboard
Design notes for the staff-facing dashboard — what a staff member sees when a customer checks in or is looked up.
Triggered by: NFC card tap at kiosk, phone lookup, or manual search. Primary use case is attaching the customer to the current Square POS checkout and having context for a real conversation.
Three Layers
Layer 1: The Glance (always visible, updates on check-in)
The “last check-in” card that appears when someone taps their NFC card:
- Name + nickname — who is this person
- Tier badge — do they get a discount? what %?
- Points balance — dollar equivalent prominently (“$4.50 in store credit”)
- Subscription status — active / past_due / canceled (past_due = gentle nudge)
- Active buff — if they have a 2x XP window running
- Square customer link — so staff can tap “attach to sale” in Square POS
This is the “attach customer to checkout” prompt. Staff sees the card, taps the customer in Square, done.
Layer 2: The Conversation (one tap deeper)
Staff wants to have a real interaction, not just ring them up:
- Recent purchases — “Oh you grabbed the new Mork Borg book last week, how is it?”
- Visit frequency — regular? lapsed? first time in a while?
- Lifetime spend — whale detection (not displayed as a number, maybe a subtle indicator)
- Level + class — conversation starter, RPG flavor
- Birthday — if it’s their birthday month, staff should know
- Member since — “You’ve been with us since day one”
Layer 3: The Admin (rarely needed)
- Full transaction ledger
- Manual point adjustment
- Manual check-in
- Subscription management link (Stripe portal)
squareNeedsReviewflag — auto-created members that staff should verify- Email verification status
Data Available
All of this is already in Payload. No new collections needed. Key sources:
- Members — identity, tier, points, XP, level, class, birthday, join date, subscription status, Square customer ID
- Purchases — items, amounts, discounts, frequency, recency
- CheckIns — visit timestamps, method, cooldown state
- LoyaltyTransactions — full ledger (earn/redeem/bonus/adjustment)
- ActiveBuffs — current XP multipliers + countdown
Open Questions
- Real-time push via WebSocket, or poll on check-in event?
- Separate staff app, or a mode in the existing portal?
- Should staff see all members or only their shop’s?
- Integration with Square POS app (deep link to customer?) — Square doesn’t support injecting a customer into an in-progress sale via API, so this is a manual “attach” step