Insights
The Brief
A weekly trade-report. Hero numbers in display serif, twelve regulars ranked by drift, a Pareto sentence, a 7×24 peak-hours grid. Sample mode shows what your Brief will look like before signal arrives.
Customers
The customer-data layer of TablePort, written by an editor. A weekly Brief names the twelve regulars going quiet. Loyalty members carry wallet passes that issue themselves. Recognition crosses venues only when the diner says yes, and the diner sees every word you see.
Opt-in, per-business by default · Symmetric transparency · GDPR-erasure cascade
Monday Brief · People to Call3 of 12
The diner sees every word you see
What changes the week after you switch
Three named stories every Monday morning: The Week, People to Call, The Shape of Your Business. You don't interpret twenty-four tiles. You act on twelve names.
A card fingerprint already exists on every successful payment. We use it carefully: opt-in cross-business identity, GDPR-erasure cascade built into the schema, and a one-tap revoke for the diner.
Every diner sees exactly what restaurants see when they walk in: same sentence, same fields, same data. No hidden customer profile, no third-party data broker.
Inside the suite
Loyalty, members, the editorial Brief, house accounts, reviews, and the trust posture all share one data substrate and one console suite. No integrations to wire up. No Zapier glue.
Insights
A weekly trade-report. Hero numbers in display serif, twelve regulars ranked by drift, a Pareto sentence, a 7×24 peak-hours grid. Sample mode shows what your Brief will look like before signal arrives.
Members
Name, points, lifetime spend, order count, last visit, cadence. Sort, filter, paginate, all server-side. Per-business by default.
Loyalty
Rewards as tier-driven steps: after N orders, or every N points. Day-of-week windows. Discounts land on the check.
Wallet passes
Member cards auto-issue to wallet on enrollment. No third-party loyalty-card SaaS in the loop.
House accounts
Monthly invoiced accounts for catering, repeat corporate lunch, event credit. Balance, credit limit, authorised users.
Reviews
Customer feedback aggregated per place. Reply lands on the Comms inbox alongside calls and messages.
Guest Brief Pill (operator view)
Mrs Patel · network regular · 14 visits across 11 restaurants · first time here
null until the diner consentsThe trust posture
Every successful card payment yields a Stripe fingerprint: a one-way hash, not a card number. Card numbers never touch our servers. When a diner opts in to cross-business recognition, the fingerprint links them across TablePort restaurants. The restaurant sees a tiny pill on the operator screen: “Mrs Patel · network regular · 14 visits across 11 restaurants · first time here”. Never which other restaurants. The diner sees the exact same sentence on /me/tableport, and can revoke or erase in one tap. Symmetric transparency. GDPR DSAR cascade in the schema, not bolted on.
Built right
Card numbers stored
0
Stripe fingerprints are one-way hashes. The PAN never reaches us.
Third-party data brokers
0
Cross-business signal is built on payments you already accept.
Cross-business default
Off
Per-business toggle. Per-diner consent on /me/tableport.
DSAR erasure
1 transaction
Fingerprints, billing, network metrics, wallet passes: atomic cascade.
The first Monday brief lands the week after your first 100 paid orders. The trust posture is on day one.