Supergood | Harbortouch API
Programmatically access Harbortouch POS data, menus, payments, and back-office operations with a stable REST API. Supergood builds and operates production-grade, unofficial Harbortouch integrations so your team can automate restaurant and retail workflows without heavy custom engineering.
Plain English: Harbortouch is a point-of-sale (POS) platform for restaurants, bars, and retail. An unofficial API lets you programmatically pull orders/tickets, line items, payments and tips, batches/settlements, menu items and modifiers, inventory levels, employees and time entries, customers/loyalty, and gift cards—and push new records or updates back into Harbortouch’s Lighthouse Business Management System.
For a tech company integrating with Harbortouch, this means you can ingest real-time sales and labor data to power dashboards, sync menu/catalog changes to online ordering and delivery partners, automate payment and batch reconciliation to accounting (e.g., QuickBooks, Xero), and enrich your platform with table service status, modifiers, and discounts. You can also trigger menu updates across locations, adjust inventory on receipts and waste, import customer records for loyalty campaigns, and keep stakeholder systems (ERP, analytics, CRM, scheduling) in lockstep.
What is Harbortouch?
Harbortouch (https://harbortouch.com/) is a POS solution (part of Shift4) that combines in-store terminals with the Lighthouse Business Management System (Lighthouse BMS) for back-office reporting and configuration. Restaurants and retailers use Harbortouch to manage orders and checks, route items to kitchen stations, process card and cash payments, track tips and settlements, manage menus and modifiers, handle inventory and vendors, run employee time clocks, and operate customer loyalty and gift cards.
Core product areas include:
- POS Operations (Orders/Tickets, Checks, Tables, Payments, Tips, Voids, Refunds, Batch Settlements)
- Menu & Pricing (Items, Categories, Modifiers/Groups, Taxes, Price Levels, Kitchen Routing)
- Inventory & Vendors (Items/SKUs, Stock Levels, Adjustments, Cost, Receive/Waste/Transfer)
- Workforce (Employees, Roles/Permissions, Time Clock, Shifts)
- Customer & Marketing (Customers, Loyalty Accounts, Gift Cards, Promotions/Discounts)
- Reporting (Sales, Labor, Taxes, Payment Batches)
Common data entities:
- Locations/Stores; Registers/Terminals
- Employees and Roles/Permissions
- Orders/Tickets (line items, modifiers, discounts, service type)
- Payments (tenders, tips, refunds); Batches/Settlements
- Menu Items, Categories, Modifier Groups, Tax Groups
- Inventory Items/SKUs, Stock Levels, Adjustments, Vendors
- Customers, Loyalty Accounts, Gift Cards, Promotions
The Harbortouch Integration Challenge
Operators rely on Harbortouch daily, but turning portal-based workflows into API-driven automation is non-trivial:
- Limited official API exposure: Many teams report relying on Lighthouse BMS exports (CSV) or partner-only integrations, with additional fees and constraints
- Real-time needs: Orders, payments, and menu changes need near real-time sync to delivery, KDS, and analytics; webhooks are sparse or unavailable
- Complex menu structures: Modifiers, price levels/dayparts, taxes, and kitchen routing can be intricate and vary by location
- Payment rigor: Tips, voids/refunds, and batch settlements must be reconciled carefully for accounting and compliance
- Role-aware data: Manager vs. cashier permissions and location scoping affect what’s visible and writable
How Supergood Creates Harbortouch APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Harbortouch tenant.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh and change detection
- Normalizes responses so you can integrate once and rely on consistent objects across modules
- Aligns with customer entitlements and role-based permissions to ensure compliant access
Use Cases
Sales & Operations Data Sync
- Mirror orders, line items, modifiers, and payments into your internal systems
- Keep service type (dine-in, takeout, delivery), table status, and tips current for analytics
- Normalize taxes, discounts, and batch settlements for multi-location reporting
Menu & Price Management
- Create and update menu items, categories, and modifier groups programmatically
- Push daypart pricing and tax group changes across locations
- Manage kitchen routing and printer groups for speed of service
Online Ordering & Delivery
- Sync menu, availability, and pricing to online ordering and delivery partners
- Ingest orders and payment details to your OMS/KDS, update order statuses, and track fulfillment
- Apply discounts and promos uniformly across in-store and digital channels
Labor & Time Clock
- Pull employee rosters and time entries for scheduling and payroll
- Detect shifts and breaks, reconcile labor to sales for performance metrics
Accounting & Reconciliation
- Sync batches/settlements, tips, and refunds to accounting systems (e.g., QuickBooks, Xero)
- Automate journal entries and daily sales summaries with tax breakdowns
Available Endpoints
Authentication
POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" }
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_hbr_294f31",
"name": "General Manager",
"entitlements": ["orders", "payments", "menu", "inventory", "employees"],
"locations": ["loc_az_scottsdale", "loc_az_phoenix"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Orders
GET /orders: List orders/tickets with filters and financial details.
Query parameters
- locationId: string
- status: open | closed | voided | refunded
- serviceType: dine_in | takeout | delivery
- updatedFrom, updatedTo: ISO 8601 timestamps
- includePayments: boolean (default false)
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"orderId": "ord_91b4d0",
"checkNumber": 218,
"ticketNumber": "T-2026-00128",
"locationId": "loc_az_scottsdale",
"registerId": "reg_05",
"createdAt": "2026-01-20T18:42:12Z",
"closedAt": "2026-01-20T19:05:33Z",
"status": "closed",
"serviceType": "dine_in",
"table": "12",
"guestCount": 3,
"items": [
{
"lineId": "li_001",
"itemId": "menu_espresso",
"name": "Double Espresso",
"sku": "ESP-02",
"quantity": 2,
"unitPrice": 3.50,
"discountAmount": 0.0,
"taxAmount": 0.56,
"modifiers": [
{"modifierId": "mod_extra_shot", "name": "Extra Shot", "priceDelta": 0.75}
]
},
{
"lineId": "li_002",
"itemId": "menu_panini",
"name": "Turkey Panini",
"sku": "PNN-TRK",
"quantity": 1,
"unitPrice": 9.25,
"discountAmount": 1.00,
"taxAmount": 0.74,
"modifiers": [
{"modifierId": "mod_no_onion", "name": "No Onion", "priceDelta": 0.0}
]
}
],
"subtotal": 16.25,
"discountTotal": 1.00,
"taxTotal": 1.30,
"tipTotal": 3.00,
"grandTotal": 19.55,
"payments": [
{
"paymentId": "pay_77c1a2",
"tenderType": "card",
"amount": 19.55,
"tipAmount": 3.00,
"cardLast4": "2741",
"brand": "VISA",
"authCode": "A123XZ",
"batchId": "bat_20260120_scottsdale",
"processedAt": "2026-01-20T19:05:34Z"
}
],
"cashierId": "emp_102",
"serverId": "emp_245"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Menu Items
POST /locations/{locationId}/menu/items: Create a menu item with categories, modifiers, pricing, and tax groups.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/locations/loc_az_scottsdale/menu/items \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Margherita Pizza",
"sku": "PZZ-MARG",
"plu": "4102",
"barcode": null,
"categoryId": "cat_pizza",
"taxGroupId": "tax_food",
"kitchenPrinterId": "kp_main",
"price": 12.00,
"priceLevels": [
{"daypart": "happy_hour", "price": 10.00},
{"daypart": "late_night", "price": 11.00}
],
"modifierGroups": [
{"groupId": "mods_toppings", "required": false, "maxSelections": 3}
],
"availability": {
"days": ["mon", "tue", "wed", "thu", "fri", "sat"],
"startTime": "11:00",
"endTime": "22:00"
},
"active": true,
"tags": ["vegetarian", "signature"]
}'
Example response
{
"itemId": "menu_pzz_marg_01",
"status": "created",
"locationId": "loc_az_scottsdale",
"createdAt": "2026-01-21T10:03:11Z"
}
Payments
POST /orders/{orderId}/payments: Record a payment (card, cash, gift) and optional tip; optionally close the order.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/orders/ord_91b4d0/payments \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"tenderType": "card",
"amount": 19.55,
"tipAmount": 3.00,
"card": {"token": "tok_abc123", "last4": "2741", "brand": "VISA"},
"authCode": "A123XZ",
"externalReference": "checkout-3172",
"processedAt": "2026-01-20T19:05:34Z",
"closeOrder": true
}'
Example response
{
"paymentId": "pay_77c1a2",
"status": "captured",
"batchId": "bat_20260120_scottsdale",
"recordedAt": "2026-01-20T19:05:34Z",
"order": {"orderId": "ord_91b4d0", "status": "closed"}
}
Inventory Adjustments
PATCH /locations/{locationId}/inventory/items/{itemId}: Adjust stock levels with reason codes for audits.
curl --request PATCH \
--url https://api.supergood.ai/integrations/<integration_id>/locations/loc_az_scottsdale/inventory/items/menu_pzz_marg_01 \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"delta": -3,
"reason": "waste",
"referenceId": "prep-20260121",
"notes": "Spoilage due to cooler malfunction"
}'
Example response
{
"itemId": "menu_pzz_marg_01",
"locationId": "loc_az_scottsdale",
"onHand": 47,
"lastAdjustment": {
"delta": -3,
"reason": "waste",
"referenceId": "prep-20260121",
"adjustedBy": "emp_102"
},
"updatedAt": "2026-01-21T12:18:42Z"
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination across modules
- Rate limits: Tuned for enterprise throughput while honoring customer entitlements and usage controls
- Session management: Automatic reauth and cookie/session rotation with health checks
- Data freshness: Near real-time retrieval of orders, payments, menu, inventory, and workforce objects
- Security: Encrypted transport, scoped tokens, and audit logging; respects Harbortouch role-based permissions and location scoping
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., batch settlements, menu propagation)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume order ingestion and menu/inventory updates across multi-location estates
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your modules, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened Harbortouch adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Harbortouch evolves.
Frequently Asked Questions
Q: Which Harbortouch modules can this integration cover?
Supergood supports workflows across commonly used modules such as POS Operations (Orders, Payments, Tips, Batches), Menu & Pricing (Items, Categories, Modifier Groups), Inventory (Stock Levels, Adjustments), Workforce (Employees, Time Clock), and Customer (Loyalty, Gift Cards), subject to your licensing and entitlements. We scope coverage during integration assessment.
Q: How are MFA and SSO handled for automation?
We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.
Q: Can you sync sales summaries and batches to our accounting system?
Yes. We can normalize daily sales, tips, taxes, discounts, refunds, and batch settlements to match your ERP/accounting schema and deliver updates via webhooks or polling while complying with rate and permission constraints. We commonly integrate with QuickBooks and Xero.
Q: Do you support menu modifiers and kitchen routing?
Yes. Modifier groups, selection limits, price deltas, and kitchen printer routing are modeled explicitly in our normalized responses and write APIs, enabling consistent propagation across locations and channels.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Harbortouch workflows?
Supergood can have your Harbortouch integration live in days with no ongoing engineering maintenance.