Run the room by the book.

Everything an operator needs to set up Pocket Theory HQ, meter the floor, and close the leaks. Built for the back-desk read between shifts — search with ⌘K or pick a topic on the left.

Getting Started

Install from Clover #

Pocket Theory HQ runs on your existing Clover POS — no new hardware to meter tables. Install the app from the Clover App Market on any Clover device (Station, Station Duo, Flex, Mini, or Compact). Front-of-house staff run the floor on the device; managers run the back office from any browser.

On install, the app requests the Clover permissions it needs: orders and payments to post table charges, customers for member profiles, employees to mirror your staff and roles, and merchant info. Approve them once and onboarding seeds a default rate plan so you can start a session immediately.

Not on Clover yet? Pocket Theory HQ is built on Clover. If you run a different POS, contact us about integration — table metering, memberships, and the waitlist portal can stand alone, but billing posts through Clover orders.

10-minute setup #

The fastest path from install to a metered floor:

  1. Add your tables. In the web console, create a table for each playing surface and set its mode: pool, card table, or shuffleboard. The floor map mirrors your real room layout.
  2. Set a rate plan. A default plan is seeded on install. Adjust the per-hour rate, rounding, and minimum, or build a plan per table mode (see Rate Plans).
  3. Set your check-in policy. Decide whether walk-ins require an ID hold, a card hold, both, or none (see Hold policies).
  4. Add staff PINs. Staff sign in on the device with a PIN. Roles sync from Clover; managers and owners get override authority.
  5. Publish the floor. Push the layout to your devices. You're ready to start sessions.

Your first session #

On the device, tap an open table to start a session. The clock runs, the rate engine accrues the charge per minute, and the meter ticks live on the floor map. When players finish, tap Stop — the session moves to pending-post, and the charge posts to Clover as an order. That's the whole loop: tap to start, tap to stop, the order lands in Clover.

Tip Pay-per-match tables don't accrue timed billing — they tie to a Clover tab so guests can still eat and drink. Set the table mode accordingly.
Floor & Sessions

The floor map #

The floor map is the live state of your room. Each table shows its current session — running time, accruing charge, or status (open, paused, league-blocked). The layout is server-owned: you design it once in the web console and publish it to devices, which consume it read-only with an offline fallback. A table's outline can reflect a checked-in member's plan color, so staff see membership at a glance.

A table's active session is one that's RUNNING, PAUSED, or stopped-pending-post — never a finalized (posted/closed) one. Idle tables show their last session in the detail drawer.

Session lifecycle #

Every session moves through a fixed set of states:

RUNNING → PAUSED → STOPPED_PENDING_POST → POSTED → CLOSED

  • Running: the meter accrues. Pause is optional.
  • Paused: the clock holds; paused minutes are subtracted from billable time.
  • Stopped: the charge is computed and frozen, awaiting post.
  • Posted: the charge has landed in Clover as an order.
  • Closed: payment captured; the tab is settled.

Charges use a frozen snapshot of the rate plan taken at session start, so a later plan edit never restates a session that already billed. Every write is idempotent and retried on failure — a session never double-posts.

Table modes #

Tables come in three modes, and each bills with its own rate plan, minimum, and visual cue on the floor:

  • Regular — standard pool tables.
  • Card table — hourly poker/card rental, typically a half-hour minimum, tied to a tab.
  • Shuffleboard — its own rate plan type.

When you start a session, the default rate plan resolves by matching the table's mode to a plan of the same type — a card table never silently defaults to the pool rate. One floor, multiple rulesets.

Rate Plans

How rate plans work #

A rate plan defines what a table costs. Plans are versioned: you can edit a plan, and only one version is current at a time, but sessions snapshot the version active when they started. That snapshot is the billing record of truth — it's why a price change tomorrow never rewrites a charge from today.

Plans support peak / off-peak windows, league blocks, member rates, player-count overrides, and time-of-day windows — no code, with safe rollback to a prior version. Deleting a plan is a soft-delete, so old charges stay readable.

Rounding & minimums #

The rate engine computes net time as elapsed minus paused minutes, then applies your plan's rounding and minimum before converting to a charge:

  • Rounding — default is 5-minute round-up (CEIL). A 47-minute session bills as 50.
  • Minimum — default 30 minutes. A 12-minute session still bills the 30-minute floor.
  • Rate — set per minute. For example, $15/hour is 25¢/minute.

The session's charge breakdown (elapsed, paused, net, rounded, billable, amount) is visible on the device and in the console, so staff can explain any total at the desk.

Player-count pricing #

Plans can price by how many players are on a table. Player-count pricing uses exact-match overrides with a plan-default fallback: set a rate for 2 players, 4 players, and so on, and any count without an explicit override falls back to the plan default. Updating the player count mid-session re-segments the charge from that point forward.

Check-In & ID Scan Pro

The scanner #

ID-scan check-in replaces the sticky-note-and-hope method. Scan the back of a driver's license with a Zebra DS9308 2D barcode scanner — currently the only supported model, available on Amazon and direct from Zebra. The app parses the AAMVA barcode in under a second: name, date of birth, license number, and expiration, on every US state.

If the guest is an existing member, their profile loads with package balance and tier. If they're a walk-in, a new customer record is created in seconds. Then the session starts with the table assignment and rate plan resolved — one tap from a verified guest.

Why a 1-second scan matters A 90-second clipboard transaction versus a 1-second scan is the difference between three tables full and three parties walking out on a busy night. Your front desk becomes a turnstile, not a queue.

Hold policies #

A hold is what you keep at check-in to make sure time gets paid. Configure the policy per merchant; each check-in applies it automatically:

  • ID held — you keep the guest's ID.
  • Card held — a card is held against the tab.
  • Both held — ID and card.
  • No hold allowed — open seating.

A manager can override the policy for a walk-in with a PIN and a reason code — every override is logged (see Staff & roles).

Age verification #

The scanned date of birth is checked against today's date. If the guest is under 21, the table picks up an UNDER-21 marker on the floor map — compliance without confrontation. The age math handles the boundary cases correctly (the day before a 21st birthday, the birthday itself, the day after).

Members & Schedule Pro

Memberships & packages #

A membership without infrastructure is a wishlist. Pocket Theory HQ runs recurring billing through Clover, member check-in, package minutes, tiered guest pricing, synced food-and-beverage discounts, and renewal reminders by SMS and email.

Each membership plan can carry a floor outline color: when a member on that plan checks in, their table's outline takes the plan's color so staff recognize membership at a glance. Plans without a color simply show no membership outline.

Reservations #

Take reservations against tables and times. A reservation can be checked in, completed, marked no-show, or cancelled, and upcoming reservations surface on the floor so staff hold the right tables.

Leagues & tournaments #

Leagues that don't pay rent should pay differently. Block tables for a league night, time-bill the slot, and surface per-league revenue so you can decide which leagues earn their keep — with data, not vibes. A league session auto-generates its nights; you can edit, activate, complete, or cancel each night and release tables early when balls are returned.

Tournaments are one-shot scheduled events that block a set of tables for a window — create, activate, complete, or cancel, with the same early per-table release.

Waitlist & Portal

Waitlist #

When the floor's full, queue guests by name or member ID. Seat a waiting party directly into a session the moment a table opens — no paper, no shouted names. When a party's table is ready, notify them by text (requires SMS to be enabled; see SMS & notifications).

Public portal & embed #

Give the room a public page where customers check live table availability and add themselves to the waitlist from their own couch. Set a public slug in Merchant Settings to turn it on; the portal shows open-table count, current wait, and your business hours, and never exposes member or session data.

The portal is embeddable: paste one snippet into any site builder (Squarespace, WordPress, Wix) and it resizes to fit. Abuse defenses (per-phone dedupe, rate limiting, a honeypot field) keep junk out of your queue.

Tip Toggle waitlistEnabled off in settings to pause public sign-ups without taking the page down.
Insights Pro

Reports & revenue #

The Insights tab is manager-gated and covers revenue trends, a 7×24 peak-hours heatmap, rate-plan performance, top customers, membership health, and staff performance. All revenue aggregates exclude non-finalized sessions: only posted, closed, or pending-post sessions contribute.

Two revenue definitions, deliberately split: collected revenue (from actual payments, net of refunds and voids) backs the overview, revenue trend, and top customers; charged revenue (the frozen rate-engine amount) backs peak-hours and rate-plan performance. Rate-plan performance groups by the snapshotted plan name, so renaming a plan never rewrites history.

Refunds & voids #

Refunds and voids made on the Clover side flow back automatically through webhooks. A refund nets out of collected revenue; an itemized refund that matches a session's table-time line item is attributed to table time. A deleted payment voids the session's payment record. Charged-revenue metrics stay frozen by design — collected truth lives in the payment ledger.

Staff, Roles & Tiers

Staff & roles #

Staff sign in on the device with a PIN. Roles are Staff, Manager, and Owner, and they sync from your Clover employees — the account owner maps to Owner, admins and managers to Manager, everyone else to Staff. Managers and owners hold override authority: comps, discounts, retroactive starts, and hold bypasses each require a manager PIN, a reason code, and a permanent audit entry. Generosity becomes a measurable line item.

Subscription tiers #

Your subscription tier, billed through the Clover App Market, gates which features you get:

  • Basic Core operations: floor & sessions, rate plans, table modes, Clover order posting, staff roles, audit log, and the walk-in waitlist.
  • Pro Everything in Basic, plus reservations, leagues, tournaments, maintenance, membership management, ID-scan check-in, and the full Insights suite.
  • Premium Cross-location reporting for multi-venue operators. Pinned for chains.

A tier is a ceiling: each merchant can also toggle individual features on or off within their tier. When a feature is above your tier, the console shows it dimmed with a lock and an upgrade prompt rather than hiding it — so you always know what the next tier unlocks.

SMS & notifications #

SMS powers waitlist-ready texts and membership renewal reminders. Monthly message allowances are set by tier:

  • Basic Waitlist “table ready” texts, 500 messages per month included. Membership renewal reminders are a Pro feature.
  • Pro 1,500 messages per month included — waitlist texts plus membership renewal reminders.
  • Premium Unlimited.

Beyond the included allowance, overage is billed in blocks of 50 messages at $1.00 per block through Clover metered billing. Every outbound text includes a STOP footer; replying STOP opts a number out.

Source of truth These allowances reflect the live billing caps. If a pricing page or sales sheet states a different number, the figures here are correct.
Help

Troubleshooting #

A charge didn't post to Clover #

Posts retry automatically in the background. If a post stays failed, open the session and use Retry post; the operation is idempotent, so retrying never double-charges. Persistent failures usually mean the Clover access token needs reconnecting in settings.

A table is locked by another device

Lease-based locks stop two devices from controlling the same table at once. Stale locks are swept automatically; if a table seems stuck, give it a moment or refresh the floor.

The ID scanner isn't reading

Confirm the scanner is a Zebra DS9308 and that you're scanning the back (the PDF417 barcode), not the front. Other 2D scanner models aren't supported yet.

FAQ #

Do I need new hardware?

No — Pocket Theory HQ runs on your existing Clover devices. The only optional add-on is a Zebra DS9308 scanner for ID-scan check-in.

What happens to my data if I cancel?

PostgreSQL is the system of record and your billing snapshots stay intact and readable. Reach out and we'll help you export.

Can I price pool, cards, and shuffleboard differently?

Yes — each table mode resolves its own rate plan. See Table modes and Rate plans.

Still stuck? Contact the team — we answer from someone who's run a room.
Esc