2026-04-03
Nolan Pflug call — partnership locked in
60-minute call with nolan-pflug, self-published fantasy author. Full notes: nolan-call-2026-04-03
Agreed on a guest post exchange for domain authority — Nolan writes discussion posts for dungeonbooks blog and dungeonengineering.com, Panat writes about bookstore/author relationships and the guild concept for Nolan’s site.
Nolan committed as guild early adopter. His team has fundraising experience ($75M Series D for Crowdsource) and may help with seed round strategy. Target VC discussed: Mana Inc.
Action items
- Email Nolan: guild manifesto/pitch deck + early-access link
- Draft 500–1,000-word guest post for Nolan’s site re: bookstore/author relationship
- Draft blog post re: gamified loyalty concept; share with Nolan for social promo
- Create Discord server for Jersey City RPG
Square webhooks replace NFC for partner shops
Realized partner shops on Square don’t need NFC kiosks at all. When a member makes an in-store purchase, the Square payment.updated webhook already fires — we can auto-create a check-in from that. A member walks into a partner shop, buys a sticker, and the guild system picks up both the points earn and the visit automatically.
This massively lowers the barrier for the quest hub network. Partner shops just need to be on Square and opt in. No hardware, no NFC cards, no kiosk setup.
- Existing GitHub issue: #13 — Auto check-in on in-store purchases
- Only auto-check-in for
SQUARE_POSandTERMINALsource types (not online orders) - Reuses existing 4-hour dedup window from the kiosk check-in system
- New check-in method value:
purchase - Panat plans to post in the JC business group chat in a few days to find shops on Square who want to join
- Timing: wants to launch before tax refund season hits
Conversation (Panat & Carrie, 3:47 PM)
Panat: we don’t need NFC cards at shops — if they use Square, they can just send webhook and that counts as a checkin. if they buy like a sticker. Carrie: who’s they?? and how would that work Panat: guild. in about a few days I’m gonna post the game in the JC business group chat and ask who uses Square and wants to do this Carrie: lol that would be crazy if this blows up Panat: we need to do it right in time for tax refunds. the entire concept of like, coming to jersey city because it’s like an alternate dimension — i hope brings more business from nyc Carrie: nerdy alley has an actual game
Action items
- Implement #13 — auto check-in on in-store purchases
- Post in JC business group chat to recruit Square shops
- Research what Nerdy Alley’s game is (Carrie mentioned it)
Dave Lucey call — Omnibus demo + Guild pitch
53-minute call with dave-lucey (Edelweiss/Omnibus). He demoed Omnibus end-to-end, Panat pitched Guild in the last 10 minutes.
Omnibus highlights
Omnibus is a Square-native bookstore management layer — modern rewrite of Edelweiss tooling. Key features:
- Customer reservations — full special order lifecycle: order → receive → auto-match to customer → print slip → notify. Solves the “book goes on shelf instead of hold” problem
- Catalog search — searches Square catalog + all Edelweiss publisher catalogs simultaneously. One-click add to Square with full metadata, cover art, BISAC, tax
- Smart ordering — analyzes to-be-ordered list across vendors, respects shipping minimums, weighs discount vs delivery time differently for replenishment vs customer orders. Routes to available vendor if primary is out of stock
- EDI ordering — electronic orders to publishers (Penguin + Bookazine spring 2026, then Simon, Norton, Harper). Scan box barcode → receive against shipment → flag damages → discrepancy reports
- Replenishment report — real-time stock sync from Square, sales history (1d/7d/30d/90d/lifetime), existing PO awareness
- Write-to-Square toggle — read-only mode. Panat requested review-before-write + audit log (Dave will surface as feedback)
- Ask Omnibus (AI) — natural language queries against store data
- Analytics — section productivity by sq ft, catalog sell-through, demand forecasting (migrating from legacy Edelweiss Analytics)
- Sideline vendors — expanding beyond books: Asmodee, Kingdom of Threads, indie publishers via low-cost “discovery” membership
- Mobile — full mobile support with camera barcode scanning
- Real-time sync — webhooks, no batch jobs
Pricing
- $49.95/month
- Founding retailer: $24.50/month for first 3 months (sign up before end of April)
- Free trial available
Integration potential
- Dave open to API integration with Medusa store build
- Bookazine direct-to-home drop shipping coming
- Omnibus building own e-commerce add-on but supports external builds
Guild pitch reaction
Showed character sheet, XP, NFC check-in, quest log, battle pass. Dave loved it:
- “Holy cow, dude, this is so good” / “The quest log is so brilliant”
- Immediately saw audience beyond bookstores — game shops, card shops, video game stores
- Mentioned Magpie and Crow (retro video game shop near his store) as a fit
- Compared to Pokemon Go foot traffic effect
Relationship
- Dave invited Panat to Omnibus Advisory Council — accepted
- Asked Panat to post honest takes in Square bookseller Facebook groups
- Will share recording + transcript
- Very aligned: indie bookstores need modern tech to survive
Action items
- Sign up for Omnibus free trial today
- Evaluate Omnibus hands-on for 2 weeks
- Share recording with Carrie
- Post about Omnibus in Square bookseller groups
- Follow up on Advisory Council when Dave launches it
- Explore API integration between Medusa and Omnibus
PRs shipped
- #17 — Self-serve NFC check-in kiosk — kiosk screen with NFC tap + phone fallback, XP award, cooldown dedup
- #21 — Dark mode toggle — system preference + manual toggle
- #22 — Sidebar nav, character sheet, quest log, rewards pages — full portal layout
- #23 — Adventure log redesign + guild hall tier comparison — purchase breakdown, backfill badges, tier ROI
- #25 — Rolling 30-day lookback for tier comparison — real spending data instead of projections
- #26 — Auto check-in on in-store purchases — Square webhook triggers visit tracking
Auto check-in on in-store purchases — shipped
guild PR #26. When a member makes an in-store purchase, the Square webhook now auto-creates a check-in. No extra XP — the purchase already awards points. Just visit tracking.
How it works
- Square
payment.updatedwebhook fires → we checkapplication_details.square_product SQUARE_POS(Square Register, Square Reader) orTERMINAL_API(Square Terminal) → auto check-inECOMMERCE_API(online orders) → no check-in, they haven’t physically visited- Same 4-hour cooldown as NFC/phone check-ins — kiosk tap + purchase in same visit = one check-in
- Check-in links back to the purchase record in admin
Square API findings
source_typeis payment method (CARD,CASH, etc.), NOT the channel. Don’t use it.application_details.square_productis the right field:SQUARE_POS,TERMINAL_API,ECOMMERCE_API, etc.card_details.entry_methodalso indicates in-person:EMV(chip),CONTACTLESS(tap),SWIPED- Sandbox gap: Terminal API doesn’t propagate
customer_idto the payment object. Production always does (verified by inspecting real payments). Fallback: grabcustomerIdfrom the order, which we already fetch for line items. - Sandbox test device IDs: Square provides them for Terminal checkout testing —
9fa747a2-25ff-48ee-b078-04381f7c828ffor credit card success (up to $25) - Fulfillment pickup:
order.fulfillments[].pickup_details.picked_up_attracks when a customer picks up an online order. Could auto check-in fromorder.updatedwebhook. Issue #27 filed.
Check-in method fields
Redesigned CheckIns collection to have method-specific fields, all conditionally shown in admin:
| Method | Fields |
|---|---|
| nfc | kiosk (relationship) |
| phone | kiosk (relationship) |
| qr | qrCodeId (text — poster ID, scavenger hunt location) |
| manual | notes (text — staff context) |
| event | externalEventId (text — Hi.Events ID) |
| purchase | purchase (relationship) |
Issues created
- #27 — Auto check-in on online order pickup — listen for fulfillment completion
- #28 — Staff manual check-in via kiosk — PIN-protected staff mode for when NFC/phone fails
QR waypoints — “Place of Power, it’s gotta be”
Idea: scatter Dungeon Books stickers with QR codes around Jersey City — partner shops, coffee spots, lamp posts, bathroom stalls, wherever. Each one is a waypoint. Scan it with your phone → check-in → XP.
The Witcher 3 reference is the vibe: Geralt’s medallion hums near a Place of Power, you walk up, interact, get an ability point. Same energy — you’re walking around JC and spot a Dungeon Books sticker. Scan it. “Discovered a waypoint. +100 XP.” The city IS the dungeon.
How it works
- Each QR code encodes a unique
qrCodeId(e.g.waypoint-nerdy-alley-01) - Scanning hits the check-in API with
method: 'qr'+ the code ID - Same 4-hour dedup per waypoint — can’t farm the same sticker
- Different waypoints = different check-ins, so a scavenger hunt across JC is viable
qrCodeIdfield on CheckIns (already added in PR #26) tracks which one was scanned- Adventure log shows “Discovered a waypoint” (per-method lingo, issue #29)
Scavenger hunt potential
- Monthly quest: “Find 5 waypoints this month” → bonus XP / reward
- Partner shops get their own waypoints — incentivizes cross-visiting the quest hub network
- Limited edition stickers for events — temporary waypoints that expire
- Leaderboard: who’s found the most waypoints
- Some waypoints could be hidden/hard to find — rare discoveries worth more XP
Why stickers
- Cheap to print (Dungeon Books logo + QR code)
- Easy to place — no hardware, no partnership agreement needed
- Guerrilla marketing — people see the stickers even if they don’t scan
- Replaceable — if one gets torn down, print another
- Partner shops can put them in their windows voluntarily
Check-in XP buff — the key insight
Check-ins currently award a flat 100 XP. But what if tapping your card at the kiosk gave you a timed 2x XP buff instead? For the next hour, all purchase XP is doubled.
This changes the kiosk from “nice to have” to “I should always tap before I buy.” The check-in becomes a ritual:
- Walk into shop
- Tap NFC card at kiosk → “XP Surge activated! 2x XP for 60 minutes”
- Browse, buy stuff → all purchase XP doubled
- Buff expires after an hour
Why this is huge
- Guarantees visit tracking — members tap BEFORE purchasing, every time
- Drives kiosk engagement — it’s not a chore, it’s a power-up
- Waypoint buffs too — scan a QR waypoint at a partner shop, get a buff, walk to Dungeon Books and buy something. Drives cross-traffic in the quest hub network
- Stacks with tier multipliers — Mithril (3x) + check-in buff (2x) = 6x XP. That’s the whale incentive
- Different buff types per source: kiosk tap = XP Surge, waypoint scan = Merchant’s Blessing, event attendance = Scholar’s Focus
- Creates FOMO — “my buff is expiring, I should buy something before it runs out”
Decisions made
- Buff boosts XP only, NOT loyalty points. Points (redeemable store credit) stay at tier rate — that’s the “real money” side. XP (leveling, progression) is the “game” side and costs nothing to boost. This follows MMO industry standard: FFXIV, WoW, and Destiny all keep XP boosts and currency boosts on separate tracks. Pokemon Go does the same — Lucky Egg (2x XP) and Star Piece (1.5x Stardust) are separate items. Points boosts are premium — future feature, reserved for paid promotions (Starbucks Double Star Days model).
- Multiplicative stacking with tier on XP — Mithril (3x) × buff (2x) = 6x XP. Like Pokemon Go event multiplier × Lucky Egg.
- Re-check-in refreshes timer — no additive stacking. Tap again = reset to 60 min, not 120 min.
- Buff activates BEFORE check-in XP — so the flat 100 XP itself gets buffed to 200. Immediate feedback on the kiosk screen.
- Buff definitions are admin-configurable — Payload collection, per-shop. Different shops can have different buffs.
- Different buffs per check-in method — kiosk tap = “XP Surge”, waypoint = “Merchant’s Blessing”, event = “Scholar’s Focus”
Waypoint charges — limited claims
QR waypoints have a charge system: each waypoint can only be claimed by N unique members before it goes on cooldown (e.g., 5 claims, then recharges after 24h). Creates scarcity and urgency — “Place of Power, but someone already drained it.”
maxClaimson buff definition (0 = unlimited, N = limited charges)claimCooldownMinutes— how long until charges reset- QR check-ins have their own cooldown separate from shop check-ins — scanning a waypoint at Nerdy Alley doesn’t burn your Dungeon Books kiosk cooldown
Issue filed
What’s next for check-ins
- Check-in XP buff system (#30) — building now, changes the whole dynamic
- QR waypoints — design the sticker, build the scan flow, seed some waypoints
- Phone lookup abuse vector — need rate limiting or PIN verification
- Staff manual check-in mode on kiosk (#28)
- Per-method lingo (#29)