The POS Integration feature connects Pool Hall Master to Square so table-time charges land as line items on a Square Order. Your bartender or cashier then adds drinks and food to the same order in Square Register and settles the whole thing in one transaction.
This integration uses Square’s OAuth 2.0 authorization flow — you don’t need API keys, just a Square account.
Turn the feature on
- Open Account & Settings.
- Scroll to the FEATURES section.
- Set POS Integration to ON.
- Tap POS Integration to open its settings screen.
Choose your provider
The first section is POS Provider with a Select Provider picker. Available options:
- None (default).
- Square.
- Toast — placeholder; the screen says “Toast integration coming soon”.
- SpotOn — placeholder; “SpotOn integration coming soon”.
- Clover — placeholder; “Clover integration coming soon”.
Pick Square to enable the rest of the screen.
Connect your Square account
The Square Account section explains:
Connect your Square account to sync orders, catalog items, and loyalty programs.
- Tap Connect with Square.
- Safari opens to squareup.com for sign-in.
- Sign in and approve the requested permissions (orders, payments, catalog, loyalty, customers, merchant info).
- Square redirects back to Pool Hall Master via the
poolhallmaster://square-oauthdeep link. - The status row updates to Connected.
If something goes wrong, the screen surfaces a clear error from Square.
Choose a location
Square accounts can have multiple locations. Open Location → Select a location and pick the location for this venue. Inactive locations show an Inactive badge so you don’t pick the wrong one.
You can refresh the location list at any time with Refresh.
Link your “Pool Table Time” catalog item
For Pool Hall Master to push table-time charges as a recognizable line item, it needs a Square catalog item to attach them to. Most rooms create one called Pool Table Time.
- In Square Dashboard, go to Items and create an item called Pool Table Time (variable price).
- Back in Pool Hall Master, tap Find “Pool Table Time” Item under the Pool Time Item section.
- The app finds and links the item — the row updates to Linked to Square catalog.
- Use Unlink if you ever need to redo this.
You can also link separate catalog items for Tournament Entry and Booking Deposit the same way — both have their own sections with Auto-detect Item buttons. These are optional but make your Square reports much cleaner.
Automation toggles
The Automation section has four switches that control how aggressively Pool Hall Master and Square stay in sync:
- Auto-link tabs — when a customer with a known name has an open Square tab, automatically attach Pool Hall Master to that tab.
- Auto-send time updates — push the running table-time charge to Square on an interval rather than only at checkout.
- Auto-unlink missing tabs — if a Square tab disappears (settled or voided in Square Register), automatically unlink it on the iPad.
- Auto-clear table on Send to POS — when you tap Send to Square at checkout, also clear the table on Pool Hall Master.
Most rooms turn on Auto-link tabs and Auto-unlink missing tabs; the other two depend on your workflow.
How charges flow at checkout
When you tap Send to Square in the Checkout Table sheet:
- Pool Hall Master calculates the line items (player time, menu items, tax).
- It pushes them to a Square Order via the connected merchant + location.
- The order shows up on the appropriate Square Register, where the bartender can add drinks and settle.
If you’ve enabled Auto-clear table on Send to POS, the table on the Floor is also cleared at this moment.
Square Loyalty (optional)
If your Square account has Square Loyalty enabled, Pool Hall Master can enroll customers automatically.
- Toggle Auto-enroll from waitlist to enroll any customer who joins the waitlist.
- Use Refresh Loyalty Program if Square has changed your program.
- View Loyalty Statistics for a quick health check.
If Square Loyalty is not enabled in your Square Dashboard, the screen shows the message “Square Loyalty must be enabled in your Square Dashboard” with a link to Open Square Dashboard.
Disconnecting
To disconnect, tap Disconnect Square at the bottom of the Square Account section. You’ll see the confirmation:
Disconnect Square? This will revoke access to your Square account. You can reconnect at any time.
Disconnecting stops new line items from being pushed but does not modify any orders that have already been sent to Square.
Online tournament payments (web)
Separate from the iOS POS integration, when Square is connected your
public tournament registration page (phmapp.io/{slug}/tournament/...)
can accept online card payments via the Square Web Payments SDK. This
is enabled automatically once Square is connected and a location is selected;
no extra configuration is required on the iPad.
