# GoTab Documentation
URL: https://docs.gotab.io/
Description: Operator help, developer guides, APIs, and internal tooling for GoTab.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
### For Operators
### For Developers & Partners
:::internal{.no-badge}
### Internal
:::
---
# API Reference
URL: https://docs.gotab.io/api-reference/
Description: GoTab exposes both a REST API and a GraphQL API — choose the right tool for your integration.
GoTab exposes two APIs. Both require a Bearer token — see the [Authentication guide](/getting-started/authentication/) to get one.
## REST API (Interactive)
The REST API Reference is an interactive Scalar-powered reference for all GoTab REST endpoints. You can try every request directly in the browser.
**Best for:** creating tabs, placing orders, processing payments, OAuth token exchange, and any CRUD operation.
→ **Open REST API Reference**
## GraphQL API
The GraphQL Explorer embeds Apollo Sandbox pointed at `https://gotab.io/api/graph`. Use it to build and test queries interactively.
**Best for:** fetching nested data in a single request, catalog reads, reporting, and flexible field selection.
→ **Open GraphQL Explorer**
## Which API should I use?
| Situation | Use |
|---|---|
| Starting a new integration | REST — covers the most common actions |
| Fetching locations + menus + pricing in one call | GraphQL |
| Ordering, payments, tab management | REST |
| Sales reporting and analytics | GraphQL |
| OAuth flows and webhooks | REST |
If you're new to the GoTab API, start with [Your First API Call](/getting-started/first-call/) for a hands-on walkthrough of both.
---
# Concepts
URL: https://docs.gotab.io/concepts/
Description: Core concepts behind the GoTab API — OAuth, webhooks, pagination, rate limits, and more.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
These pages explain the building blocks that apply across all GoTab integrations.
## Authentication & Authorization
## API Behavior
## Developer Setup
---
# Environments & Testing
URL: https://docs.gotab.io/concepts/environments/
Description: Sandbox vs production environments and how to test your GoTab integration.
## Sandbox environment
The sandbox is an isolated environment pre-populated with demo locations, menus, and catalog data. It's where you develop and test before touching live accounts.
**Base URL:** `https://gotab.io` (same host — sandbox is account-scoped, not a separate domain)
To get sandbox access, email [api.support@gotab.io](mailto:api.support@gotab.io) with a brief description of your integration. GoTab will create your sandbox account and send an SMS verification to your registered mobile number.
Once verified, log in to the [Integration Dashboard](https://gotab.io/manager/integrations) to retrieve your sandbox `api_access_id` and `api_access_secret`.
---
## Production environment
**Base URL:** `https://gotab.io` (same as sandbox — credentials determine which account is accessed)
Production credentials are provisioned separately after your integration is reviewed. Work with your GoTab API support contact to upgrade from sandbox to production access.
Production credentials are scoped to the specific GoTab accounts that authorize your application via OAuth.
---
## Sandbox vs production differences
| Feature | Sandbox | Production |
|---|---|---|
| Data | Pre-populated demo data | Live account data |
| Payments | Test mode — no real charges | Live charges |
| Rate limits | Same as production | Same as sandbox |
| Webhooks | Fully functional | Fully functional |
| OAuth flows | Fully functional | Fully functional |
| Location count | One demo location | All authorized locations |
---
## Testing best practices
**Use the demo location data** — Sandbox accounts come with demo locations, zones, menus, and catalog items. Don't delete this data; use it as a stable baseline.
**Test all OAuth paths** — Run through both the client credentials grant and authorization code flows in the sandbox before going live. The OAuth portal works identically in both environments.
**Test your webhook handler locally** — Use a tunneling tool like [ngrok](https://ngrok.com) or [cloudflared](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/) to expose a local server and configure it as your webhook endpoint in the Integration Dashboard. Verify the `X-GoTab-Signature` header against your secret before trusting any payload.
**Verify your retry logic** — Intentionally send malformed requests and expired tokens to confirm your error handling works. See [Error Handling](/concepts/error-handling/) for retryable vs non-retryable patterns.
**Test pagination edge cases** — Query with small `limit` values (e.g. `first: 2`) to force multi-page results and verify your pagination loop terminates correctly.
---
## Going live checklist
Before switching to production credentials:
- [ ] All API calls use environment variables for `api_access_id` and `api_access_secret` — no hardcoded secrets
- [ ] Token refresh is implemented and tested (tokens expire after 24 hours)
- [ ] 401 responses trigger a token refresh and retry, not a crash
- [ ] 429 responses are handled with `Retry-After` backoff
- [ ] Webhook signature verification is enabled and tested
- [ ] Your redirect URL is registered in the Integration Dashboard
- [ ] Integration has been reviewed with your GoTab API support contact
---
## See also
- [Create API Credentials](/getting-started/api-credentials/) — Sandbox setup and credential retrieval
- [Authentication](/getting-started/authentication/) — Exchanging credentials for a Bearer token
- [Error Handling](/concepts/error-handling/) — How to handle API errors gracefully
- [Webhooks](/concepts/webhooks/) — Configuring and verifying webhook delivery
---
# Error Handling
URL: https://docs.gotab.io/concepts/error-handling/
Description: Understand GoTab API error responses and how to handle them gracefully.
## Error response format
All GoTab API errors return a JSON body. The shape is consistent across REST endpoints:
```json
{
"error": "invalid_token",
"message": "The access token has expired.",
"statusCode": 401
}
```
Some validation errors (422) include field-level detail:
```json
{
"error": "validation_failed",
"message": "Request validation failed.",
"statusCode": 422,
"details": [
{ "field": "api_access_id", "message": "Required" },
{ "field": "grant_type", "message": "Must be one of: authorization_code, refresh_token" }
]
}
```
GraphQL errors follow the standard GraphQL error envelope:
```json
{
"data": null,
"errors": [
{
"message": "Unauthorized",
"extensions": { "code": "UNAUTHENTICATED" }
}
]
}
```
---
## HTTP status codes
| Status | Meaning in GoTab context |
|---|---|
| `400 Bad Request` | Malformed request — missing required fields or invalid JSON |
| `401 Unauthorized` | Missing, expired, or revoked Bearer token |
| `403 Forbidden` | Valid token but insufficient permissions for this resource |
| `404 Not Found` | Resource doesn't exist, or the endpoint path is wrong |
| `409 Conflict` | Request conflicts with existing state (e.g. duplicate creation) |
| `422 Unprocessable Entity` | Request is well-formed but fails validation — check `details` |
| `429 Too Many Requests` | Rate limit exceeded — see [Rate Limits](/concepts/rate-limits/) |
| `500 Internal Server Error` | GoTab-side error — safe to retry with backoff |
---
## Authentication errors
**401 — Token expired or revoked**
```json
{ "error": "invalid_token", "message": "The access token has expired.", "statusCode": 401 }
```
Action: refresh the token using your `refresh_token` and retry the request. See [OAuth Flows](/concepts/oauth-flows/#token-refresh) for the refresh call.
**401 — Missing Authorization header**
```json
{ "error": "unauthorized", "message": "No authorization token provided.", "statusCode": 401 }
```
Action: ensure every request includes `Authorization: Bearer YOUR_TOKEN`. See [Authentication](/getting-started/authentication/).
**403 — Insufficient permissions**
```json
{ "error": "forbidden", "message": "Your credentials do not have access to this resource.", "statusCode": 403 }
```
Action: verify the location has authorized your integration. Do not retry without re-authorizing.
---
## Rate limit errors (429)
When you exceed the rate limit, the API returns:
```json
{ "error": "rate_limit_exceeded", "message": "Too many requests.", "statusCode": 429 }
```
The response includes a `Retry-After` header indicating how many seconds to wait:
```
HTTP/1.1 429 Too Many Requests
Retry-After: 15
```
Wait the indicated time before retrying. For proactive management, see [Rate Limits](/concepts/rate-limits/).
---
## Validation errors (422)
Validation errors include a `details` array that identifies which fields failed and why:
```json
{
"error": "validation_failed",
"statusCode": 422,
"details": [
{ "field": "locationUuid", "message": "Invalid UUID format" },
{ "field": "total", "message": "Must be a positive number" }
]
}
```
These are not retryable — fix the request data before retrying.
---
## Retry strategies
**Retryable errors:** `429`, `500`, `502`, `503`, `504`, and network timeouts.
**Non-retryable errors:** `400`, `401` (until token is refreshed), `403`, `404`, `409`, `422`.
### Exponential backoff
For retryable errors, wait progressively longer between attempts:
```javascript
async function fetchWithRetry(url, options, maxRetries = 4) {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
const res = await fetch(url, options);
if (res.ok) return res.json();
// Non-retryable
if ([400, 403, 404, 409, 422].includes(res.status)) {
throw new Error(`Non-retryable error: ${res.status}`);
}
// Respect Retry-After on 429
if (res.status === 429) {
const retryAfter = parseInt(res.headers.get('Retry-After') ?? '15', 10);
await sleep(retryAfter * 1000);
continue;
}
// Exponential backoff for 5xx and last attempt
if (attempt === maxRetries) throw new Error(`Failed after ${maxRetries} retries`);
await sleep(Math.min(1000 * 2 ** attempt, 30_000));
}
}
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
```
---
## See also
- [Rate Limits](/concepts/rate-limits/) — Limits by API type and how to stay under them
- [Authentication](/getting-started/authentication/) — Getting and refreshing Bearer tokens
- [OAuth Flows](/concepts/oauth-flows/) — Token lifecycle, refresh, and revocation
---
# OAuth Flows
URL: https://docs.gotab.io/concepts/oauth-flows/
Description: Choose and implement the right OAuth flow for your GoTab integration.
GoTab supports two OAuth 2.0 grant types. Which one you use depends on whether your integration acts on behalf of itself (server-to-server) or on behalf of a specific GoTab user.
| Flow | Best for |
|---|---|
| **Client Credentials** | Server-to-server integrations, background jobs, data imports |
| **Authorization Code** | Marketplace apps, multi-tenant SaaS, acting as a specific manager |
For the quick path to a token (most integrations start here), see [Authentication](/getting-started/authentication/).
---
## Client Credentials Flow
:::caution
**Use Client Credentials for action-based integrations.** If your integration needs to perform write operations on behalf of itself (creating tabs, processing orders, interacting with the API as a first-party client), use the Client Credentials flow. The Authorization Code flow scopes the token to a specific user's permissions and may not include the access needed for programmatic actions. If you receive a permission error on a write endpoint, verify you are using Client Credentials and not Authorization Code.
:::
The client credentials grant is the simplest flow GoTab supports. Your server exchanges its `api_access_id` and `api_access_secret` directly for a Bearer token — no user interaction required.
:::caution
Do not use this flow in front-end applications. Your `api_access_secret` would be exposed to anyone who inspects the page.
:::
### Request an access token
```bash
curl --request POST \
--url https://gotab.io/api/oauth/token \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"api_access_id": "YOUR_API_ACCESS_ID",
"api_access_secret": "YOUR_API_ACCESS_SECRET"
}'
```
**Response:**
```json
{
"tokenType": "Bearer",
"token": "eyJ...",
"initiated": 1659020513,
"expires": 1659106913,
"expiresIn": 86400,
"refreshToken": "..."
}
```
### Grant location access
Before your integration can read or write location data, an authorized GoTab user must grant it access. Send users to the authorization portal:
```
https://gotab.io/manager/oauth?access_id=YOUR_ACCESS_ID&redirect_url=YOUR_REDIRECT_URL
```
Optional query parameters:
| Parameter | Description |
|---|---|
| `loc_limit` | Max locations a user can authorize at once. Omit for no limit. Must be > 0. |
| `response_type` | Set to `token` or omit entirely for client credentials. |
After the user clicks **Authorize**, GoTab redirects to your `redirect_url` with:
```
?locationUuids=uuid1,uuid2,uuid3
```
Your integration now has access to those locations. [List locations](/api-reference) will return the full set of authorized locations.
---
## Authorization Code Grant Flow
Use this flow when your integration needs to act on behalf of a specific GoTab user — for example, showing a manager only the locations they personally have access to.
### Step 1 — Direct the user to the authorization endpoint
Place a button or link in your app that sends the user to:
```
https://gotab.io/manager/oauth?response_type=code&access_id=YOUR_ACCESS_ID&redirect_url=YOUR_REDIRECT_URL&state=RANDOM_UUID
```
Required parameters:
| Parameter | Value |
|---|---|
| `response_type` | Must be `code` |
| `access_id` | Your `api_access_id` |
| `redirect_url` | Must exactly match a URL configured in the Integration Dashboard |
| `state` | Optional but recommended — a random value (e.g. UUID) to prevent CSRF |
### Step 2 — Handle the redirect
After the user authorizes, GoTab redirects to your `redirect_url` with:
```
?code=AUTH_CODE&state=YOUR_STATE_VALUE
```
Verify the `state` matches what you sent. The `code` is single-use and short-lived.
### Step 3 — Exchange the code for a token
```bash
curl --request POST \
--url https://gotab.io/api/oauth/token \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"grant_type": "authorization_code",
"api_access_id": "YOUR_API_ACCESS_ID",
"api_access_secret": "YOUR_API_ACCESS_SECRET",
"code": "CODE_FROM_REDIRECT"
}'
```
**Response:**
```json
{
"tokenType": "Bearer",
"token": "eyJ...",
"initiated": 1659020513,
"expires": 1659106913,
"expiresIn": 86400,
"refreshToken": "..."
}
```
### Step 4 — Make requests
Pass the token as `Authorization: Bearer YOUR_TOKEN` on every request. Requests are scoped to that user: [List locations](/api-reference), for example, returns only the locations *that user* can access — not all locations the integration has access to.
---
## Building Your OAuth Implementation
Both flows land users on the same GoTab authorization portal. Here's what the authorization screen looks like:

### Token storage
- Store tokens server-side, never in the browser.
- Keep `api_access_id` and `api_access_secret` in environment variables or a secrets manager.
- Associate tokens with the location UUIDs or user IDs they were issued for.
### Token refresh
Tokens expire after **24 hours** (`expiresIn: 86400`). Schedule a refresh before expiry to avoid mid-session failures:
```bash
curl --request POST \
--url https://gotab.io/api/oauth/token \
--header 'Content-Type: application/json' \
--data '{
"grant_type": "refresh_token",
"api_access_id": "YOUR_API_ACCESS_ID",
"api_access_secret": "YOUR_API_ACCESS_SECRET",
"refresh_token": "YOUR_REFRESH_TOKEN"
}'
```
The refresh token itself does not expire, but it is invalidated if the access is revoked.
### Error handling
| Error | Meaning | Action |
|---|---|---|
| `401 Unauthorized` | Token expired or revoked | Refresh the token and retry |
| `403 Forbidden` | Token invalid (bad format, wrong credentials) | Do not retry — re-authenticate |
Handle `401` responses gracefully in your HTTP client by automatically refreshing and retrying once before surfacing an error to the user.
---
## See also
- [Authentication](/getting-started/authentication/) — Quick start: get a token in 2 minutes
- [Create API Credentials](/getting-started/api-credentials/) — Set up your sandbox and Integration Dashboard
- REST API Reference — Token endpoints and location routes
---
# Pagination
URL: https://docs.gotab.io/concepts/pagination/
Description: Cursor-based pagination for large GoTab GraphQL result sets.
The GoTab GraphQL API uses cursor-based pagination conforming to the [Relay Connections spec](https://relay.dev/graphql/connections.htm). Most list queries return a `Connection` type that includes pagination metadata alongside the data nodes.
:::tip
Many GraphQL clients (Apollo, urql, Relay) handle cursor pagination automatically. Check your client's docs before implementing manually.
:::
---
## Connection vs List types
Most resources expose two query shapes:
| Type | Example | When to use |
|---|---|---|
| `Connection` | `tabs(first: 25, after: $cursor)` | Paginating large datasets |
| `List` | `tabsList(filter: {...})` | Small, bounded result sets where you need a flat array |
`Connection` queries return `nodes` (your data) and `pageInfo` (cursor metadata). `List` queries return a plain array — no pagination support.
---
## PageInfo fields
| Field | Type | Description |
|---|---|---|
| `hasNextPage` | `Boolean` | `true` if more results exist after the current page |
| `hasPreviousPage` | `Boolean` | `true` if results exist before the current page |
| `startCursor` | `String` | Cursor pointing to the first node in this page |
| `endCursor` | `String` | Cursor pointing to the last node — pass this as `after` on the next request |
---
## Manual pagination
Pass `null` as the cursor on the first request, then use `endCursor` from each response as the `after` variable for the next:
```graphql
query paginatedTabs($limit: Int, $cursor: Cursor, $createdAfter: Datetime) {
tabs(
first: $limit
after: $cursor
filter: { created: { greaterThanOrEqualTo: $createdAfter } }
) {
nodes {
name
tabUuid
created
}
pageInfo {
endCursor
hasNextPage
}
}
}
```
**First request variables:**
```json
{ "limit": 25, "cursor": null, "createdAfter": "2024-01-01" }
```
**Response:**
```json
{
"data": {
"tabs": {
"nodes": [ /* 25 tabs */ ],
"pageInfo": {
"endCursor": "WyJwcmltYXJ5X2tleV9hc2MiLFs4NjAyNzMyXV0=",
"hasNextPage": true
}
}
}
}
```
**Next request variables:**
```json
{ "limit": 25, "cursor": "WyJwcmltYXJ5X2tleV9hc2MiLFs4NjAyNzMyXV0=", "createdAfter": "2024-01-01" }
```
Continue until `hasNextPage` is `false`.
---
## Fetching all pages in a loop
```javascript
async function fetchAllTabs(client, createdAfter) {
const query = `
query ($limit: Int, $cursor: Cursor, $createdAfter: Datetime) {
tabs(first: $limit, after: $cursor, filter: { created: { greaterThanOrEqualTo: $createdAfter } }) {
nodes { name tabUuid created }
pageInfo { endCursor hasNextPage }
}
}
`;
const allTabs = [];
let cursor = null;
do {
const { data } = await client.query(query, {
limit: 100,
cursor,
createdAfter,
});
allTabs.push(...data.tabs.nodes);
cursor = data.tabs.pageInfo.endCursor;
} while (data.tabs.pageInfo.hasNextPage);
return allTabs;
}
```
Use a large `limit` (up to 100) for bulk exports to minimize round trips.
---
## See also
- GraphQL Explorer — Try pagination queries interactively
- [Rate Limits](/concepts/rate-limits/) — How many requests you can make per minute
---
# Rate Limits
URL: https://docs.gotab.io/concepts/rate-limits/
Description: Request limits for the GoTab REST and GraphQL APIs, and how to handle 429 responses.
GoTab enforces rate limits separately on the REST and GraphQL APIs because they have different cost profiles: one GraphQL request can replace dozens of REST calls.
## Limits
| API | Limit |
|---|---|
| REST | 100 requests per minute per credential |
| GraphQL | 4 requests per second (240/min) per credential |
Limits are applied per `api_access_id`. Multiple server instances sharing the same credential share the same limit bucket.
---
## 429 response
When you exceed the limit, you receive:
```http
HTTP/1.1 429 Too Many Requests
Retry-After: 15
Content-Type: application/json
{
"error": "rate_limit_exceeded",
"message": "Too many requests.",
"statusCode": 429
}
```
The `Retry-After` header tells you the minimum number of seconds to wait before retrying. Always respect it.
---
## Response headers
GoTab includes rate limit metadata in every response so you can track consumption proactively:
| Header | Description |
|---|---|
| `X-RateLimit-Limit` | Your total request allowance for the current window |
| `X-RateLimit-Remaining` | Requests remaining in the current window |
| `X-RateLimit-Reset` | Unix timestamp when the window resets |
Check `X-RateLimit-Remaining` before making high-volume calls — if it's near zero, pause briefly rather than waiting for a 429.
---
## Staying under the limit
**Batch with GraphQL** — If you're making multiple REST calls to assemble a response (e.g. locations + menus + pricing), consolidate them into one GraphQL query. This is the primary purpose of the GraphQL API.
**Cache aggressively** — Catalog data (menus, products, categories) doesn't change frequently. Cache responses and invalidate via [webhooks](/concepts/webhooks/) (`MENU_UPDATED`, `PRODUCT_UPDATED`) rather than polling.
**Use webhooks instead of polling** — Subscribe to relevant events instead of querying for changes on a timer. A `ORDER_PLACED` webhook is instant; polling `/orders` every 10 seconds burns rate limit.
**Paginate with larger page sizes** — Fewer requests to fetch the same data. Use `first: 100` rather than `first: 10` for bulk exports.
---
## See also
- [Error Handling](/concepts/error-handling/) — Retry strategies and exponential backoff
- [Webhooks](/concepts/webhooks/) — Event-driven alternative to polling
- [Pagination](/concepts/pagination/) — Fetching large result sets efficiently
---
# Webhooks
URL: https://docs.gotab.io/concepts/webhooks/
Description: Receive real-time event notifications from GoTab via HTTP POST to your endpoint.
[Webhooks](https://en.wikipedia.org/wiki/Webhook) allow applications to receive, via HTTP requests, information about when something happens in GoTab in realtime. Examples include receiving a webhook event when a product has been updated, a new order is submitted, or the fiscal day has ended at a location.
Webhook endpoints, headers, and events can be configured on the integrations dashboard.
:::note
It's recommended to only subscribe to the events you actually need to in order to limit the number of requests that will be made to your endpoints
:::
## Setting up your webhook endpoints
Webhook endpoints are configured in the Integration Dashboard at [gotab.io/manager/integrations](https://gotab.io/manager/integrations). For each endpoint you want to register, you'll need:
- **Your endpoint URL** — must be publicly reachable over HTTPS
- **Event types** — subscribe only to the events you actually need (see [Events](#events) below)
- **Signature secret** — strongly recommended; used to verify that deliveries are genuinely from GoTab (see [Signature Verification](#signature-verification) below)
Custom request headers can also be set per endpoint in the dashboard — for example, an `Authorization` header containing your own API key so your server can authenticate incoming requests.
If you don't have Integration Dashboard access yet, email [api.support@gotab.io](mailto:api.support@gotab.io) to get set up.
:::note
**Signal-only events:** `MENU_UPDATED`, `LOCATION_UPDATED`, and `PRODUCT_UPDATED` deliver no body data beyond the common properties. Use the `targetUuid` from the payload to fetch the updated resource via the REST API or GraphQL if you need the full details.
:::
---
## Webhook Payload Common Properties
All webhook URLs will be `POST`ed to with a `Content-Type` header value of `application/json` and a `JSON` formatted payload *object* with the following properties:
| Key | Type | Optional | Description |
| :----------- | :------- | :------- | :------------------------------------------------------------------------------------------------------------------------ |
| type | `string` | No | The event type. Examples include `PRODUCT_UPDATED`, `ORDER_PLACED`, and `ITEM_ADDED`. |
| targetUuid | `string` | Yes | A UUID provided only if the type of event targets a particular resource. For `ORDER_PLACED` this would be an `orderUuid`. |
| targetId | `string` | Yes | An ID provided for events where the target does not have a UUID. For `CATEGORY_UPDATED` this would be a `categoryId`. |
| locationUuid | `string` | Yes | The UUID of the location the event occurred at. |
| locationName | `string` | Yes | The name of the location the event occurred at. |
| locationId | `string` | Yes | The ID of the location the event occurred at. |
| createdAt | `string` | No | An ISO 8601 timestamp for the exact time the event was created. |
| data | `object` | No | The data for the event. The shape of the data varies based on the event being sent. |
The payload's `data`, `targetUuid`, and `targetId` properties will vary depending on the event type.
## Delivery Headers
In addition to any custom headers configured on the dashboard, the POST request will contain the following headers:
| Key | Description |
| :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| X-GoTab-Event-Type | The event `type` as a header. |
| X-GoTab-Event-Target-UUID | The event `targetUuid` as a header. |
| X-GoTab-Event-Target-ID | The event `targetId` as a header. |
| X-GoTab-Application-ID | The unique identifier of the application configured to receive the webhook event. This value will match the value shown on the integration dashboard page. |
| X-GoTab-Signature | If the webhook is configured with a `secret` then this value will be the SHA-256 HMAC of the request body encoded using the provided secret. |
The `User-Agent` for all webhook requests will start with `GoTab-WebhookAgent`.
### Signature Verification
If a `secret` is configured on your webhook, the `X-GoTab-Signature` header will contain a hex-encoded SHA-256 HMAC of the raw JSON request body, signed with your secret. To verify the signature:
1. Read the raw request body as a string (before JSON parsing).
2. Compute `HMAC-SHA256(body, secret)` and hex-encode the result.
3. Compare it to the `X-GoTab-Signature` header value.
### Example Request
```
POST /webhook/endpoint HTTP/2
Host: localhost:5000
User-Agent: GoTab-WebhookAgent/1.0
Content-Type: application/json
X-GoTab-Event-Type: ORDER_PLACED
X-GoTab-Event-Target-UUID: ord_xxxxxxxxx
X-GoTab-Event-Target-ID: 12345
X-GoTab-Application-ID: int_xxxxxxx
X-GoTab-Signature: [SHA-256 HMAC HEX]
{
"type": "ORDER_PLACED",
"targetUuid": "ord_xxxxxxxxx",
"targetId": "12345",
"locationUuid": "loc_xxxxxxxxx",
"locationName": "Main Street Location",
"locationId": "67890",
"createdAt": "2023-01-01T00:00:00.000Z",
"data": { ... }
}
```
***
## Events
### Item Added
Fired whenever an item is successfully added to an order.
**type:** `ITEM_ADDED`\
**targetUuid:** `itemUuid`
| Key | Type | Description |
| :----------- | :--------- | :----------------------------------------- |
| orderId | `string` | The ID of the order the item was added to. |
| productId | `string` | The ID of the product added. |
| name | `string` | The name of the item. |
| productName | `string` | The name of the product. |
| categoryName | `string` | The category the item belongs to. |
| quantity | `number` | The quantity added. |
| price | `number` | The price of the item. |
| tags | `string[]` | Tags associated with the item. |
| tabId | `string` | The ID of the tab the item was added to. |
| tabUuid | `string` | The UUID of the tab the item was added to. |
***
### Item Removed
Fired whenever an item is removed from an order.
**type:** `ITEM_REMOVED`\
**targetUuid:** `itemUuid`
| Key | Type | Description |
| :---------- | :--------- | :--------------------------------------------- |
| orderId | `string` | The ID of the order the item was removed from. |
| name | `string` | The name of the item. |
| productName | `string` | The name of the product. |
| quantity | `number` | The quantity removed. |
| price | `number` | The price of the item. |
| tags | `string[]` | Tags associated with the item. |
| tabId | `string` | The ID of the tab the item was removed from. |
| tabUuid | `string` | The UUID of the tab the item was removed from. |
***
### Item Voided
Fired whenever an item on an order is voided.
**type:** `ITEM_VOIDED`\
**targetId:** `itemId`
| Key | Type | Description |
| :------ | :------- | :-------------------------------------------- |
| orderId | `string` | The ID of the order the item was voided from. |
***
### Item Comped
Fired whenever an item on an order is comped (complimentary).
**type:** `ITEM_COMPED`\
**targetId:** `itemId`
| Key | Type | Description |
| :------ | :------- | :-------------------------------------------- |
| orderId | `string` | The ID of the order the item was comped from. |
***
### Open Tab
Fired whenever a tab is opened at a location.
**type:** `OPEN_TAB`\
**targetUuid:** `tabUuid`
| Key | Type | Description |
| :--------- | :------- | :----------------------------------------------------------------------------------- |
| name | `string` | The name of the tab. |
| spotName | `string` | The name of the spot where the tab was opened. |
| total | `number` | The current tab total. |
| openedFrom | `string` | The context in which the tab was opened. Known values: `SERVICE_MENU`, `SERVER_TAB`. |
***
### Close Tab
Fired whenever a tab is closed at a location.
**type:** `CLOSE_TAB`\
**targetUuid:** `tabUuid`
Data: `None`
***
### Order Placed
Fired whenever an order has been placed at a location.
**type:** `ORDER_PLACED`\
**targetUuid:** `orderUuid`
| Key | Type | Description |
| :------------ | :--------- | :------------------------------------------------------ |
| created | `string` | ISO 8601 timestamp of when the order was created. |
| orderName | `string` | The name/label of the order. |
| scheduled | `boolean` | Whether the order is scheduled for a future time. |
| zoneName | `string` | The name of the zone where the order was placed. |
| spotName | `string` | The name of the spot where the order was placed. |
| zoneTags | `string[]` | Tags associated with the zone. |
| zoneGroupName | `string` | The name of the zone group. |
| total | `number` | The order total, including taxes and fees. |
| tabUuid | `string` | The UUID of the tab this order belongs to. |
| itemNames | `string[]` | A full list of item names from the order. |
| itemTags | `string[]` | A full list of item tags the order contains. |
| categoryNames | `string[]` | A full list of category names represented in the order. |
***
### Payment Refunded
Fired whenever a payment refund is processed at a location.
**type:** `PAYMENT_REFUNDED`\
**targetId:** `paymentId`
| Key | Type | Description |
| :---------------- | :------- | :------------------------------------------------------------------------------ |
| tabId | `string` | The ID of the tab the payment belongs to. |
| tabUuid | `string` | The UUID of the tab the payment belongs to. |
| refundPaymentId | `string` | The ID of the refund payment record. |
| refundType | `string` | Whether the refund is `open` (arbitrary amount) or `itemized` (specific items). |
| refundAmount | `number` | Total amount refunded, including subtotal, tip, and fees. |
| refundSubtotal | `number` | The subtotal portion of the refund. |
| refundTip | `number` | The tip portion of the refund. |
| refundCustomerFee | `number` | The customer fee portion of the refund. |
| itemCount | `number` | Number of items included in the refund. `0` for open refunds. |
| gateway | `string` | The payment gateway used for the original payment. |
| paymentType | `string` | The payment method type (e.g. credit card, gift card). |
***
### Guest Verified
Fired whenever a guest successfully verifies their identity at a location (e.g. after a phone verification flow).
**type:** `GUEST_VERIFIED`\
**targetUuid:** `customerUuid`
| Key | Type | Description |
| :------------ | :-------- | :------------------------------------------------------------------------ |
| oldCustomerId | `string` | The previous customer ID if the guest was merged with an existing record. |
| isFirstTime | `boolean` | Whether this is the first time the guest has verified at this location. |
:::note
No additional fields are included in the `data` payload beyond the named properties above.
:::
***
### Guest Subscribed
Fired whenever a guest subscribes to a location (e.g. opts into marketing communications).
**type:** `GUEST_SUBSCRIBED`\
**targetUuid:** `customerUuid`
| Key | Type | Description |
| :----- | :------- | :----------------------------------------------------------------- |
| handle | `string` | The handle (e.g. phone number or email) the guest subscribed with. |
***
### Guest Unsubscribed
Fired whenever a guest unsubscribes from a location.
**type:** `GUEST_UNSUBSCRIBED`\
**targetUuid:** `customerUuid`
| Key | Type | Description |
| :----- | :------- | :------------------------------------------------------------------- |
| handle | `string` | The handle (e.g. phone number or email) the guest unsubscribed with. |
***
### Menu Updated
Fired whenever a menu at a location is updated.
**type:** `MENU_UPDATED`\
**targetUuid:** `menuUuid`
Data: `None`
***
### Product Updated
Fired whenever a product at a location is updated.
**type:** `PRODUCT_UPDATED`\
**targetUuid:** `productUuid`
Data: `None`
***
### Category Updated
Fired whenever a category at a location is updated *or* when a product within that category is updated. The `cause` property describes the chain of events that triggered this event.
**type:** `CATEGORY_UPDATED`\
**targetUuid:** `null` — categories do not have a UUID. Use `targetId` instead.\
**targetId:** `categoryId`
| Key | Type | Description |
| :---- | :------- | :-------------------------------------------------------------------------------------------------------------------------- |
| cause | `object` | The update that triggered this category event. If a product change caused it, this will be `{ "type": "PRODUCT_UPDATED" }`. |
***
### Location Updated
Fired whenever a location's settings or details are updated.
**type:** `LOCATION_UPDATED`\
**targetUuid:** `locationUuid`
Data: `None`
***
### Option Group Updated
Fired whenever an option group is created, updated, or deleted at a location. Deletion is a soft delete (the option group is archived), so use the `action` field rather than assuming the group is still readable afterward.
**type:** `OPTION_GROUP_UPDATED`\
**targetUuid:** `optionGroupUuid`
| Key | Type | Description |
| :-------------- | :--------- | :------------------------------------------------------------------------------------ |
| optionGroupUuid | `string` | The UUID of the option group that was created, updated, or deleted. |
| optionGroupName | `string` | The name of the option group. |
| userId | `string` | The ID of the user who made the change. |
| action | `string` | One of `created`, `updated`, or `deleted`. |
| optionGroups | `object[]` | The option group and any linked/nested option groups affected by the change. See below. |
Each entry in `optionGroups` describes one option group node in the framework (the top-level group plus any linked groups, up to the maximum nesting depth of 2):
| Key | Type | Description |
| :-------------- | :--------- | :------------------------------------------------------------------ |
| optionGroupHash | `string` | An identifier for this option group node within the framework. |
| name | `string` | The name of this option group node. |
| depth | `number` | The nesting depth of this node (`0` for the top-level group). |
| options | `object[]` | The options in this group, each with `optionHash` and `name`. |
***
### QR Scanned
Fired whenever a QR code is scanned at a location. This event is throttled to once per 5 minutes per customer per target to avoid duplicate events from repeated scans.
**type:** `QR_SCANNED`\
**targetId:** `spotId` (or the ID of whichever resource the QR code points to)
| Key | Type | Description |
| :--------- | :------- | :----------------------------------------------------------------- |
| type | `string` | The type of resource the QR code targets. Currently always `SPOT`. |
| targetName | `string` | The name of the resource the QR code points to. |
| entryPoint | `string` | The entry point context in which the QR code was scanned. |
***
## Event Reference
| Event Type | targetUuid | targetId | Has Data |
| :------------------- | :------------- | :----------- | :------- |
| `ITEM_ADDED` | `itemUuid` | — | Yes |
| `ITEM_REMOVED` | `itemUuid` | — | Yes |
| `ITEM_VOIDED` | — | `itemId` | Yes |
| `ITEM_COMPED` | — | `itemId` | Yes |
| `OPEN_TAB` | `tabUuid` | — | No |
| `CLOSE_TAB` | `tabUuid` | — | No |
| `ORDER_PLACED` | `orderUuid` | — | Yes |
| `PAYMENT_REFUNDED` | — | `paymentId` | Yes |
| `GUEST_VERIFIED` | `customerUuid` | — | Yes |
| `GUEST_SUBSCRIBED` | `customerUuid` | — | Yes |
| `GUEST_UNSUBSCRIBED` | `customerUuid` | — | Yes |
| `MENU_UPDATED` | `menuUuid` | — | No |
| `PRODUCT_UPDATED` | `productUuid` | — | No |
| `CATEGORY_UPDATED` | `null` | `categoryId` | Yes |
| `LOCATION_UPDATED` | `locationUuid` | — | No |
| `OPTION_GROUP_UPDATED` | `optionGroupUuid` | — | Yes |
| `QR_SCANNED` | — | `spotId` | Yes |
---
## Retry behavior
GoTab retries webhook deliveries when your endpoint returns a non-2xx response or times out. Retries use exponential backoff over approximately 24 hours before the event is considered permanently failed.
To avoid missed events:
- Return a `2xx` response as quickly as possible — do heavy processing asynchronously (queue the payload, respond immediately)
- Your endpoint has a **10-second timeout** — responses that take longer are treated as failures
- Design your handler to be **idempotent** — the same event may be delivered more than once
---
## Testing webhooks locally
Use a tunneling tool to expose a local server and register it as your webhook endpoint in the [Integration Dashboard](https://gotab.io/manager/integrations).
**ngrok:**
```bash
ngrok http 3000
# Gives you: https://abc123.ngrok.io → forward to localhost:3000
```
**cloudflared:**
```bash
cloudflared tunnel --url http://localhost:3000
```
Register the public URL as your webhook endpoint, then trigger events by interacting with your sandbox location. Verify the `X-GoTab-Signature` header in your handler:
```javascript
import crypto from 'crypto';
function verifySignature(rawBody, secret, signatureHeader) {
const expected = crypto
.createHmac('sha256', secret)
.update(rawBody)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}
```
:::caution
Always use `crypto.timingSafeEqual` for signature comparison — standard string equality is vulnerable to timing attacks.
:::
---
## See also
- [Error Handling](/concepts/error-handling/) — Handling retries and non-2xx responses
- [Environments & Testing](/concepts/environments/) — Setting up a local webhook test environment
- [Rate Limits](/concepts/rate-limits/) — Webhooks as an alternative to polling
---
# Overview
URL: https://docs.gotab.io/getting-started/
Description: Everything you need to start building with the GoTab API.
import { Icon } from '@astrojs/starlight/components';
GoTab's developer platform lets you build integrations on top of one of the fastest-growing restaurant commerce platforms. Whether you're syncing catalog data, processing payments, or building a full loyalty program, the GoTab API gives you the access you need.
## What you can build
| Capability | Description |
|---|---|
| **Ordering & Tabs** | Open tabs, add items, apply payments, and close out orders |
| **Catalog** | Read menus, products, modifiers, pricing, and availability |
| **Payments** | Process card payments, apply discounts, issue refunds |
| **Locations** | List and manage locations your credentials have access to |
| **Users & Labor** | Read user accounts, timekeeping, and scheduling data |
| **Webhooks** | Receive real-time events for orders, payments, and more |
| **Loyalty & Promos** | Integrate GoTab's promo engine or connect your own loyalty system |
## REST API vs GraphQL
GoTab exposes both a REST API and a GraphQL API. Most integrations use one or the other depending on the use case.
| | REST API | GraphQL API |
|---|---|---|
| **Best for** | CRUD operations, webhooks, OAuth flows | Flexible data fetching, reporting, catalog reads |
| **Format** | JSON over HTTP | GraphQL query language |
| **Auth** | Bearer token | Bearer token |
| **Reference** | Interactive REST docs | GraphQL Explorer |
If you're not sure which to use: **start with REST**. The REST API covers the most common integration patterns (ordering, payments, catalog sync). The GraphQL API is especially useful when you need to fetch nested data in a single request — like pulling all locations, their menus, and pricing in one query.
## How to get started
Follow these four steps to make your first API call:
1. [Create API Credentials](/getting-started/api-credentials/) — Get your sandbox `api_access_id` and `api_access_secret`
2. [Authentication](/getting-started/authentication/) — Exchange your credentials for a Bearer token
3. [Your First API Call](/getting-started/first-call/) — List locations and fetch a menu
4. [Guides](/guides/) — Go deeper with resource-specific guides
## Questions or access issues?
Email [api.support@gotab.io](mailto:api.support@gotab.io) to request a sandbox account or get help with your integration.
---
## Stay up to date
---
# Create API Credentials
URL: https://docs.gotab.io/getting-started/api-credentials/
Description: Set up your sandbox and get your API credentials.
API credentials (`api_access_id` and `api_access_secret`) authorize your integration to make API calls on behalf of GoTab locations.
## Prerequisites
You need a GoTab sandbox account. If you don't have one, email [api.support@gotab.io](mailto:api.support@gotab.io) with a brief description of your integration. The GoTab API team will create your sandbox and designate a **primary developer contact (PDC)** who completes the steps below.
## Step 1: Verify your account
After GoTab creates your sandbox, the PDC receives an SMS verification code on their registered mobile number. Complete verification at the Integration Dashboard:
**[https://gotab.io/manager/integrations](https://gotab.io/manager/integrations)**
Verification grants access to the Integration Dashboard where your credentials live.
## Step 2: Retrieve your credentials
1. Log in and navigate to the Integration Dashboard.
2. In the top-left dropdown, select **All Locations** — the application edit page is only visible in this view.

3. Select your application.
4. Scroll down to the **Credentials** section and copy your `api_access_id` and `api_access_secret`.

:::caution
Keep your `api_access_secret` private. Never commit it to source control, expose it in client-side code, or share it publicly. Treat it like a password.
:::
## Sandbox vs production
Your credentials start in sandbox mode. The sandbox is pre-populated with demo locations, menus, and catalog data so you can develop without affecting live accounts.
When your integration is ready to go live, work with your GoTab API support contact to provision production credentials. Production credentials are scoped to the specific GoTab accounts that have authorized your application via OAuth.
## Next steps
- [Authentication](/getting-started/authentication/) — Exchange your credentials for a Bearer token
- [API Reference](/api-reference) — Full REST endpoint reference
---
## Completing your marketplace application
While in the Integration Dashboard, you can also configure your application's public-facing profile shown to GoTab account managers when they authorize your application.
**Add team members** — As PDC you can grant additional GoTab users access to the application setup page. Each user must also exist on your sandbox account. See the [knowledge base article on adding users](/operator/getting-started/adding-users-and-creating-a-pin/).

**Application name, logo, and description** — Visible to all GoTab accounts in the marketplace. Only GoTab manager roles can access the Integration Dashboard.

**Redirect URL** — Used after an account grants your application access. GoTab appends the `locationUuid` as a query parameter so you can associate the new location with your system. Click **Add**, enter your URL, then click **Save**.

See [OAuth Flows](/concepts/oauth-flows/#authorization-code-grant-flow) for full details on the authorization code flow.
---
## Stay up to date
---
# Authentication
URL: https://docs.gotab.io/getting-started/authentication/
Description: Get a Bearer token and authenticate your API requests.
All GoTab API requests require a Bearer token in the `Authorization` header. This page covers the fastest path to getting a token — the **Client Credentials flow**, which is the right choice for most server-to-server integrations.
## Get a Bearer token
Exchange your `api_access_id` and `api_access_secret` for an access token:
```bash
curl -X POST https://gotab.io/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type": "client_credentials",
"api_access_id": "YOUR_API_ACCESS_ID",
"api_access_secret": "YOUR_API_ACCESS_SECRET"
}'
```
**Response:**
```json
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 86400
}
```
| Field | Description |
|---|---|
| `access_token` | The token to include in every API request |
| `token_type` | Always `"Bearer"` |
| `expires_in` | Seconds until the token expires (86400 = 24 hours) |
## Use the token
Pass the token as a `Bearer` in the `Authorization` header on every request:
```bash
curl https://gotab.io/api/loc \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
:::note
The access token does not need to be base64-encoded before passing it to GoTab.
:::
## Refreshing tokens
Tokens expire after 24 hours. Request a new token using the same `client_credentials` flow — there is no separate refresh token step for the Client Credentials flow.
For long-running integrations, cache the token and re-request it when you receive a `401 Unauthorized` response.
## Common errors
| Status | Cause | Fix |
|---|---|---|
| `401 Unauthorized` | Invalid or expired token | Request a new token |
| `400 Bad Request` | Missing or malformed credentials in request body | Check `api_access_id` and `api_access_secret` are correct |
| `403 Forbidden` | Token valid but lacks permission for this resource | Verify the location is authorized for your application |
## Choosing an OAuth flow
The Client Credentials flow works when your server is acting on its own behalf — syncing catalog data, processing orders, or reading sales for locations that have authorized your app.
If you need to act on behalf of a **specific GoTab user** — for example, listing only the locations a user has access to — you need the **Authorization Code flow** instead.
See [OAuth Flows](/concepts/oauth-flows/) in Concepts for a full comparison and implementation guide.
## Next steps
- [Your First API Call](/getting-started/first-call/) — Use your token to fetch locations and a menu
- REST API Reference — Full endpoint reference with try-it-now
---
# Your First API Call
URL: https://docs.gotab.io/getting-started/first-call/
Description: Make your first GoTab API request and explore the response.
import { Icon } from '@astrojs/starlight/components';
**Prerequisites:** You have a Bearer token from the [Authentication](/getting-started/authentication/) step.
## Step 1: List your locations (REST)
List the locations your credentials have access to. This gives you the `locationUuid` values you'll use in almost every subsequent request.
```bash
curl https://gotab.io/api/loc \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
**Response:**
```json
[
{
"locationUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"locationId": 42,
"name": "Demo Rooftop Bar",
"timezone": "America/New_York",
"urlName": "demo-rooftop-bar"
}
]
```
Save the `locationUuid` — you'll use it in every location-scoped request.
## Step 2: List your locations (GraphQL)
The same data is available via GraphQL. This is useful when you need nested location data in a single request.
**Endpoint:** `POST https://gotab.io/api/graph`
```graphql
query {
locationsList {
name
locationUuid
locationId
timezone
urlName
}
}
```
Send it as a JSON body:
```bash
curl -X POST https://gotab.io/api/graph \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query": "query { locationsList { name locationUuid locationId timezone urlName } }"}'
```
:::caution
Don't expose `locationsList` in a public-facing UI. It returns every location your credentials can access. For user-scoped lists, filter by `userId` using the Authorization Code flow.
:::
Try this query (and others) interactively in the GraphQL Explorer
## Step 3: Fetch a menu for a location
Use the `locationUuid` from Step 1 to fetch available menus for that location:
```bash
curl "https://gotab.io/api/loc/a1b2c3d4-e5f6-7890-abcd-ef1234567890/menus" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```
Or via GraphQL:
```graphql
query ($locationUuid: String!) {
location(locationUuid: $locationUuid) {
name
menus {
menuId
name
menuType
}
}
}
```
## What's next?
You now have the basics: credentials → token → locations → menu. From here you can explore the full API surface.
| Where to go | What you'll find |
|---|---|
| REST API Reference | Interactive docs for every endpoint — try requests in the browser |
| GraphQL Explorer | Schema browser and query editor |
| [Guides](/guides/) | Walkthroughs for ordering, payments, accounting, loyalty, and more |
| [Concepts](/concepts/) | OAuth deep-dives, webhooks, pagination, and rate limits |
---
## Stay up to date
---
# Quick Start
URL: https://docs.gotab.io/getting-started/quick-start/
Description: Single-page reference for sandbox setup, credentials, and first GraphQL queries.
:::tip
**New to GoTab?** Follow the step-by-step guide instead:
[Create API Credentials](/getting-started/api-credentials/) →
[Authentication](/getting-started/authentication/) →
[Your First API Call](/getting-started/first-call/)
This page is a condensed single-page reference for experienced developers who prefer to skim.
:::
## Platform and Dev Portal Overview
GoTab is building the next generation restaurant commerce platform and we are excited for you to join us on this journey. Here you will find everything you need to build add-on products or services to enhance both operator and guest experiences.
> This article and various pages throughout the site assume you have a basic level understanding about REST and GraphQL APIs.
REST API is a reference to our endpoints and the methods supported.\
[Graph API](https://docs.gotab.io/reference/graph-api-overview) is a reference to learn more about the objects you can interact with.
## Sandbox Environment
As an integrator, you may want to set up a demo account to test your software before activating live operators. If you are not already a GoTab API User or do not have a sandbox account please contact [api.support@gotab.io](mailto:api.support@gotab.io).
The sandbox demo account is also where integrators manage [API credentials](https://docs.gotab.io/docs/api-credentials) to authorize the use of our API.
:::note
If your application needs to test credit card authorizations notify [api.support@gotab.io](mailto:api.support@gotab.io).
:::
### Setting up your Sandbox
Each demo account is populated with Locations, Zones, Spots, Catalogs, and Menus. It is recommended that you utilize our help articles to customize your account around your applications use cases (e.g. creating rules and segments). Your API support manager can also assist with setting up your account based on the types of usecases you will need test/develop against.
**Step One:** Access your account for the first time
* Your mobile number is required to add a user account and for all future account verifications. A SMS notification will be sent after GoTab creates your sandbox and user profile. Navigate to the Integration Dashboard and then complete the account verification.
**Step Two:** Save your API credentials
* Now that you have verified your account the Integration Dashboard should be displayed. Before selecting your application make sure ALL Locations is selected. This option is required to view the edit page.

* Select your application and scroll down to credentials and copy / paste / save your ID and Secret.

**Step Three:** Complete your marketplace application setup
Once your credentials are created you can begin completing the application setup screen. This view is only accessible to API users you add. A separate manager view is accessible for GoTab accounts wanting to enable your application at their location/s. Navigate to [API Credential Creation](https://docs.gotab.io/docs/api-credentials) for more information.
**Step Four:** Customize your sandbox location
* On the left side navigation is the Manager Dashboard. This is where you can add new users to the Sandbox, configure your location settings (e.g. tax rates), setup order rules and segments and more.
### Retrieving all accessible locations
To quickly see information about the locations your API credentials have access to you would use a query like so:
```gql
query {
locationsList {
name
locationUuid
locationId
timezone
urlName
}
}
```
:::caution
While this query is helpful for taking stock of what locations your API credentials can access, it is recommended *not* to expose this list in any public facing UI.
:::
### Retrieving all accessible locations by a user
Filtering data specifically to a given user is a preferred query for public facing user interfaces (e.g. you want to present a list of locations for a user to select from).
To get a list of the locations that a user has access to that your API credentials will also have access to, filter the user's uuid in a query similar to this one:
```gql
query ($userId: BigInt ) {
user: userByUserId (userId: $userId ) {
locationsList {
name
locationUuid
}
}
}
```
Now that you understand the basics to get started, explore our guides to learn more about the different scenarios in which your application can interact with GoTab.
---
# Guides
URL: https://docs.gotab.io/guides/
Description: Walkthroughs for ordering, payments, accounting, loyalty, and more.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Step-by-step guides for the most common GoTab integration patterns. Each guide walks through a specific use case end-to-end using the REST and/or GraphQL APIs.
## Ordering & Tabs
## Catalog
## Payments
## Integrations
## Testing
---
# Basic Accounting Integration
URL: https://docs.gotab.io/guides/basic-accounting-integration/
Description: This documentation will describe the necessary steps to consume the GoTab API in order to create a basic accounting integration.
This documentation will describe the necessary steps to consume the GoTab API in order to create a basic accounting integration.
Fiscal Days
Accounting data in GoTab is attributed to "business fiscal days" or just "fiscal days". An operator using GoTab has the ability to configure their fiscal day schedule according to their business needs. One operator may configure their business fiscal day to be from 12:00AM to 11:59PM. Another operator who stays open later may configure their business fiscal day to be from 2AM to 1:59AM. In the second example the business fiscal day will start on one calendar day and cross over into the following calendar day
In GoTab fiscal days have different statuses. The status that pertains most directly to building an accounting integration is the 'CLOSED' status. A 'CLOSED' status indicates that the business fiscal day is over, GoTab's internal processes have run, and the accounting data is ready to be retrieved. A fiscal day's status is usually updated 'CLOSED' one to two hours after the business fiscal day ends. However, in rare instances, this may not be the case. You may see a 'PENDING' status. For this reason, it is usually a good idea to write retry logic to make an additional request every couple of hours until you get back a 'CLOSED' status and you know the accounting data is ready.
NOTE: real time sales data is available via our GraphQL API, but we highly recommend that, if you can, you use our batch data.
Here is the GraphQL query you should use in order to query a location's fiscal day status:
```graphql
query FiscalDaysList($filter: FiscalDayFilter) {
fiscalDaysList(filter: $filter) {
fiscalDayBegin
fiscalDayEnd
fiscalDay
fiscalDayStatus
}
}
variables:
{
"filter": {
"fiscalDay": {
"equalTo": null
},
"locationId": {
"equalTo": null
}
}
}
```
The Ledger
Once the fiscal day is closed you will want to pull that fiscal day's data from our ledger.
GoTab maintains a ledger, which is a flat data structure that contains all of the data that affects a location's profit and loss. It is designed to be accurate and easy to work with. This is the same data that we use for our internal reporting so the goal should be reconciliation between the GoTab system and yours without discrepancies.
There is a plethora of data available on the ledger, but here is an example query that will return enough data to implement a basic accounting integration:
```graphql
query LedgerEntriesList($filter: LedgerEntryFilter, $first: Int, $offset: Int) {
ledgerEntriesList(filter: $filter, first: $first, offset: $offset) {
amount
fiscalDay
transactionName
transactionTime
tabUserId
orderUserId
accountingStream {
name
reportingGroup
}
tabLocationId
propertyLocationId
product {
productId
}
}
}
variables:
{
"filter": {
"fiscalDay": {
"equalTo": null
},
"propertyLocationId": {
"equalTo": null
},
"tabLocationId": {
"equalTo": null
}
},
"first": null,
"offset": null
}
```
Working With the Data
The first thing worth looking at for an accounting integration is how we aggregate our data for reporting on our sales page (image below). In GoTab products are mapped to an "account" or "accounting stream" and each account is mapped to an "accounting group." There are some default accounts that we create for each location, but an operator can and often will configure their own. Each reporting group (reportingGroup in the above query) is an enumerated, default value that is created by GoTab.
Here are the values that you may see for reportingGroup: NET SALES, AUTOGRAT, TAX, DEFERRED REVENUE, RECEIVABLES, TIPS, FEES, CHARGEBACKS, PROCESSORS, OTHER, EXPENSE.
Try the queries on this page in the GraphQL Explorer →
---
# Create a New Tab
URL: https://docs.gotab.io/guides/create-a-new-tab/
Description: A Tab is analogous to a ticket. Typically a Tab is opened and then one or more orders of Items are added to it. The tab is eventually closed by zeroing out the balance due.
A Tab is analogous to a ticket. Typically a Tab is opened and then *one or more* orders of Items are added to it.
The tab is eventually closed by zeroing out the balance due, either by providing *one or more* payments, or by refunding/voiding items.
The four essential parts of a Tab include:
### 1. The Spot
The Tab's spot represents a physical location, such as a seat at a table in a restaurant or a delivery address, that the order will be sent to. If the spot allows scheduling, which is typical of takeout and delivery orders, then the order can be scheduled for delivery to that spot at a future date. Otherwise the delivery time will be set to `ASAP`.
The spot also can affect what items can be ordered. For example, a spot at the bar may serve alcoholic beverages whereas a spot on the patio does not. In most cases the spot should be determined before items are selected.
### 2. The Guest
The guest is represented by a unique identifier such as their `phoneNumber` or a `customerId`.
It is recommended that the guest identifier be provided as the guest, through their inclusion in certain segments, may affect the final price of the order. e.g. by having a first time buyer, employee, or military discount.
### 3. The Items
An item is either a **Catalog Item** or an **Open Item**.
- A **Catalog Item** is resolved from a product that already exists in the GoTab product catalog, identified by its `productUuid` (or other product identifiers). Pricing, tax, and other attributes are inherited from the catalog.
- An **Open Item** is an ad-hoc item not tied to the catalog. It requires a `name` and a `unitPrice` since there is no catalog entry to resolve those values from.
Both item types support modifiers, `itemUnits`, and `quantity`.
> ⚠️ **Quantity rule:** To order multiple units of the same product, set `quantity` on a single item object. Do **not** add separate objects with the same `productId` — duplicate entries cause an error.
>
> **Wrong** — two objects for the same product:
> ```json
> "items": [
> { "productUuid": "prd_abc", "quantity": 1 },
> { "productUuid": "prd_abc", "quantity": 1 }
> ]
> ```
>
> **Right** — one object with `quantity: 2`:
> ```json
> "items": [
> { "productUuid": "prd_abc", "quantity": 2 }
> ]
> ```
#### Catalog Item
| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `product` | object | ✅ | See product fields below |
| `quantity` | number | ✅ | The quantity to order |
| `modifiers` | array | — | A list of modifier groups and their selected options |
| `itemUnits` | string | — | Unit label shown on receipt, e.g. `"oz"`, `"lbs"`, `"pints"` |
| `name` | string | — | Custom display name (3–20 chars), visible on receipt and KDS |
| `unitPrice` | integer | — | Override unit price in cents (min: 1, max: 100000) |
**Product fields** (at least one identifier is expected):
| Field | Type | Notes |
| --- | --- | --- |
| `productUuid` | string | Unique UUID of the product — most common identifier |
| `productId` | string | Unique ID of the product |
| `productName` | string | Name of the product |
| `categoryUuid` | string | UUID of the category the product belongs to |
| `categoryId` | string | ID of the category the product belongs to |
| `categoryName` | string | Name of the category the product belongs to |
```json
{
"product": {
"productUuid": "prd_utucyIkdVyqOwgK4o2KKY819"
},
"quantity": 2,
"itemUnits": "pints",
"modifiers": []
}
```
#### Open Item
Open items are useful when you need to charge for something that isn't in the catalog — such as a custom service charge, a special event item, or a one-off product.
| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `name` | string | ✅ | Display name (3–20 chars), visible on receipt and KDS |
| `quantity` | number | ✅ | Minimum: 1 |
| `unitPrice` | integer | ✅ | Price in cents (min: 1, max: 100000) |
| `modifiers` | array | — | A list of modifier groups and their selected options |
| `externalId` | string | — | Your external reference for this item |
| `itemUnits` | string | — | Unit label shown on receipt, e.g. `"oz"`, `"lbs"`, `"bottles"` |
| `taxRate` | number | — | Decimal tax rate (min: 0, max: 1). e.g. `0.085` for 8.5% |
```json
{
"name": "Custom Catering Fee",
"quantity": 1,
"unitPrice": 5000,
"taxRate": 0.085,
"externalId": "catering-fee-001"
}
```
##### The `notes` field
The `notes` field accepts a JSON object and is available on both open items and catalog items. Use it to attach integration-specific metadata that your system needs to associate with the item — for example, an external order ID or a loyalty reference. The field is returned as-is on the item node in GraphQL queries.
```json
{
"name": "Loyalty Redemption Item",
"quantity": 1,
"unitPrice": 0,
"notes": { "your_integration_key": { "external_id": "order_abc123" } }
}
```
#### Modifiers
Both catalog and open items support modifiers. A modifier represents a guest's selection within an option group — for example, choosing a size, a temperature, or a set of toppings.
| Field | Type | Notes |
| --- | --- | --- |
| `optionGroupHash` | string | The hash identifying the option group |
| `options` | array | One or more options selected from the group |
| `options[].optionHash` | string | The hash identifying the specific option |
| `options[].quantity` | number | Quantity of that option selected |
```json
"modifiers": [
{
"optionGroupHash": "{optionGroupHash}",
"options": [
{
"optionHash": "{optionHash}",
"quantity": 1
}
]
}
]
```
> 💡 A single item can have multiple modifier groups. Each group can also have multiple options selected — for example, a "Toppings" group where the guest picks several items at once. See [Example 3](#example-3-open-tab-with-multiple-items-and-multiple-modifier-groups) for a full illustration.
### 4. The Payments
---
## Recommendations Before Creating a Tab
First ensure that a spot and time are selected. From there, customers will select products from one or more menus.
Menu and products are dynamic in GoTab based on various reasons (e.g. rules and segments) for a location. If your application is displaying *menus/products/items*, prior to creating a new tab your application should be querying their availability. This best practice will ensure a guest is not viewing a menu or product that is not available for order and prevent errors at checkout.
- Rules and segments that can impact an order are guest segments (e.g. VIP, first time buyer, beer club member, etc.).
- Products or items may be disabled or 86'd throughout the day, and some restaurants may disable their online or takeout ordering temporarily for various reasons.
---
## Creating a Tab
Send a `POST` request to `/api/loc/:location_uuid/tabs` to create a tab at the location.
> 📘 **Use Price Check**
>
> You do not need to include any discount or fee items, but you do need to ensure that the payment sufficiently covers the balance. Use the [price check](/reference/pricecheck) route when creating and closing a tab all at once.
A customer must be associated with a tab — therefore a `customerId` or a `phoneNumber` is required when creating the tab.
| Parameter | Developer Notes |
| --- | --- |
| `"phoneNumber": "+19999999999"` | Required if `customerId` not supplied |
| `"customerId": ""` | Required if `phoneNumber` not supplied |
> ⚠️ Do not include fees and discounts if you retrieved them from the price check route.
### Open vs. Closed Tabs
> 📘 **Open Tabs**
>
> Currently, the API only supports **CLOSED** tabs. `openTab` must be set to `false`.
- When `openTab: false` — the tab is created and closed immediately. There must be at least one item and the payments must bring the balance due to `0`, or an error will be thrown. A `spotUuid` is also required, as it fires the order to the correct KDS.
- When `openTab: true` — the tab is created as an open tab and items can be added to it later via [Add Items to Tab](https://docs.gotab.io/reference/addtabitems).
### Payments Structure
```json
"payments": [
{
"tipAmount": 0, // calculated in cents
"payAmount": 100, // calculated in cents
"externalId": "12345", // (Optional) external payment reference from your system
"methods": [
{
"processor": "DOORDASH",
"amount": 100 // amount on all methods should match tipAmount + payAmount
}
]
}
]
```
### Scheduling & Notes
Depending on how your application is taking orders, you may need to display a pick-up time or delivery time to the customer. Make sure you are allowing orders to be placed within the available schedules. By default, `scheduled` is set to `ASAP`. Additional `notes` are optional but it is also important to query specific menu requirements set up by the operator — for example, with takeout/pickup orders the customer may be required to provide the make and/or model of their car.
```json
"scheduled": "2022-01-31",
"spotUuid": "string", // Required when openTab is false
"notes": "Make it quick!" // (Optional) Notes on the order
```
---
## Examples
The following examples cover the most common integration scenarios. Each demonstrates a different use case to help you understand which approach fits your needs.
---
### Example 1: Simple Closed Tab (Single Item)
**Scenario:** A third-party delivery platform (e.g. DoorDash) submits a completed order with a single item and payment all in one request. This is the most common pattern for delivery integrations where the order is paid externally and just needs to be fired to the kitchen immediately.
```json
{
"externalId": "GoTab Test 1",
"openTab": false,
"spotUuid": "spt_Rem6_xbjGabsHhAWWdTBdIiL",
"phoneNumber": "1233455678",
"items": [
{
"externalId": "9876",
"quantity": 4,
"productUuid": "prd_utucyIkdVyqOwgK4o2KKY819",
"modifiers": []
}
],
"payments": [
{
"payAmount": 6180,
"tipAmount": 800,
"externalId": "3PD transactionId",
"methods": [
{
"amount": 6980,
"processor": "DOORDASH"
}
]
}
]
}
```
> 💡 `payAmount` + `tipAmount` must equal the `amount` on each payment method. In this example: `6180 + 800 = 6980`.
---
### Example 2: Open Tab with a Single Item and Modifier
**Scenario:** A tableside or kiosk ordering flow where the guest is still seated and may continue ordering. The tab is opened immediately with one item and a modifier selection (e.g. choosing a size or add-on). Additional items can be added later via the [Add Items to Tab](https://docs.gotab.io/reference/addtabitems) endpoint.
```bash
curl -X POST https://api.gotab.io/loc/{location}/tabs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"openTab": true,
"spotUuid": "{spotUuid}",
"items": [
{
"quantity": 1,
"productUuid": "{productUuid}",
"modifiers": [
{
"optionGroupHash": "{optionGroupHash}",
"options": [
{
"optionHash": "{optionHash}",
"quantity": 1
}
]
}
]
}
]
}'
```
---
### Example 3: Open Tab with Multiple Items and Multiple Modifier Groups
**Scenario:** A more complex dine-in order where multiple items are added at once, and some items have multiple modifier groups (e.g. a burger with both a "doneness" group and a "toppings" group). This demonstrates that a single item can belong to multiple modifier groups, and each group can have multiple options selected simultaneously.
```bash
curl -X POST https://api.gotab.io/loc/{location}/tabs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"openTab": true,
"spotUuid": "{spotUuid}",
"name": "Table 4",
"items": [
{
"quantity": 1,
"productUuid": "{productUuid_1}",
"modifiers": [
{
"optionGroupHash": "{optionGroupHash_1}",
"options": [
{
"optionHash": "{optionHash_1}",
"quantity": 1
}
]
}
]
},
{
"quantity": 2,
"productUuid": "{productUuid_2}",
"modifiers": [
{
"optionGroupHash": "{optionGroupHash_2}",
"options": [
{ "optionHash": "{optionHash_2}", "quantity": 1 }
]
},
{
"optionGroupHash": "{optionGroupHash_3}",
"options": [
{ "optionHash": "{optionHash_3}", "quantity": 1 },
{ "optionHash": "{optionHash_4}", "quantity": 1 }
]
}
]
}
]
}'
```
> 💡 The optional `name` field (e.g. `"Table 4"`) can be used to label the tab for staff visibility in the GoTab dashboard.
---
### Example 4: Scheduled Tab (Future Date)
**Scenario:** A pre-order or catering workflow where the guest is ordering in advance for a future date — such as a next-day pickup or an event. The `fiscalDate` must be between **1 and 90 days** in the future. Scheduled tabs must be open tabs.
```bash
curl -X POST https://api.gotab.io/loc/{location}/tabs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"openTab": true,
"spotUuid": "{spotUuid}",
"fiscalDate": "2026-05-01T00:00:00Z",
"items": []
}'
```
> 💡 Items can be empty at creation and added later once the operator confirms availability for that date. Use the [Add Items to Tab](https://docs.gotab.io/reference/addtabitems) endpoint to add items to the scheduled tab.
---
### Example 5: Open Tab with Adjustments (Discounts / Surcharges)
**Scenario:** Applying a tab-level adjustment at order creation — such as a family discount, a catering surcharge, or a promotional credit. The `value` is in cents; use a negative value for discounts and a positive value for surcharges.
```bash
curl -X POST https://api.gotab.io/loc/{location}/tabs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {token}" \
-d '{
"openTab": true,
"spotUuid": "{spotUuid}",
"tabAdjustments": [
{
"value": -500,
"name": "Family Discount"
}
],
"items": [
{
"quantity": 1,
"productUuid": "{productUuid}",
"modifiers": []
}
]
}'
```
> 💡 `tabAdjustments` are applied at the tab level, not per item. For item-level discounts, those should be handled via product pricing rules or segments configured in GoTab.
---
# Get Tab Details
URL: https://docs.gotab.io/guides/getting-tab-data/
Description: Tabs, whether created via the API, the POS, or by consumers can be retrieved with all of their items via the Graph API and returned list or the [REST
Tabs, whether created via the API, the POS, or by consumers can be retrieved with all of their items via the Graph API and returned list or the [REST endpoint](/reference/gettabitems) to get the items from a single tab.
```graphql
query Location(
$locationUuid: String!
$limit: Int
$cursor: Cursor
$tabsCondition: TabCondition
$itemFilter: ItemFilter
$paymentsListCondition: PaymentCondition
) {
location(locationUuid: $locationUuid) {
tabs(first: $limit, after: $cursor, condition: $tabsCondition) {
nodes {
name
tabId
tabUuid
href # url to tab, useful for reference
status
# Server (when applicable, empty otherwise)
server {
name
userId
}
numGuests
# Tab totals
tax
subtotal
autograt
total
# Tab dates
opened
closed
# Revenue Centers in GoTab are Zones. Every order is placed with a Spot and every spot is attached to a Zone. Sorting by Orders will increase your payload and may require a lower # for pagination.
ordersList {
spot {
spotUuid
zone {
name
zoneUuid
}
}
}
# Items, Fees, Discounts, and Adjustments
itemsList(filter: $itemFilter) {
name
fee # true if this item represents a fee. Fees are tab and order level.
discount # true if this item represents a discount. Discounts are tab and order level.
comped # true if this item was comped. Comps are item level and happen when the tab is still open. Refunds are applied if the tab is closed.
voided # true if this item was voided. Voids are item level.
itemId
productId
sku # GoTab auto created SKU
externalInventoryId # external sku passed via the API
subtotal # current subtotal (price * quantity) of the item after adjustments have been applied
subtotalInitial # original subtotal (price * quantity) of the item before adjustments have been applied
quantity # is the current total of items after adjustments have been applied.
quantityInitial # is the original total of items before adjustments have been applied.
options {
name
price
quantity
id
key
}
adjustments {
itemAdjustmentId
quantity
unitPrice
adjustmentReason
adjustmentType
}
accountingStream {
accountingStreamId
# the name of the account stream is the sales category (aka revenue account).
name
# reporting groups are the ledger
reportingGroup
}
}
# Successful payments on the tab
paymentsList(condition: $paymentsListCondition) {
name
last4
tipAmount
autograt
tax
comp
subtotal
amount # amount = tax, autograt and subtotal.
totalAmount # totalAmount = tax, autograt, tipAmount and subtotal
paymentType
paymentSource
}
}
pageInfo {
hasNextPage
startCursor
endCursor
}
totalCount
}
}
}
```
```json GraphQL Variables
{
"locationUuid": "",
"limit": 100,
"cursor": null,
"tabsCondition": {
"fiscalDay": yyyymmdd,
"hasPlacedOrders": true
},
"itemFilter": {
"ordered": {
"equalTo": true
}
},
"paymentsListCondition": {
"status": "SUCCESS"
}
}
```
Try these queries interactively in the GraphQL Explorer →
---
# GoTab Loyalty API
URL: https://docs.gotab.io/guides/gotab-loyalty-api/
Description: The GoTab Loyalty API is an events-driven API to be consumed by a third party loyalty program.
The GoTab Loyalty API is an events-driven API to be consumed by a third party loyalty program.
GoTab Loyalty API Dependencies:
URL for GoTab to post loyalty events to (e.g. myloyaltyplatform.com/gotab/events).
Authorization header value for your platform to confirm requests are coming from GoTab.
A look up type. Does your sytem expect a look up for a customer based on customer phone number, email, or some customer loyalty number?
Event Types:
Customer driven, sychronous events: INQUIRE, REDEEM, and ENROLL
Asynchronous events: ACCRUAL, REVERSE
INQUIRE:
The inquire event type will have a payload that includes the event\_type: INQUIRE. It will also include the lookup value the customer entered. This data may be a phone number, an email, or a customer loyalty number depending on how the lookup\_type value has been configured for your specific integration. If there are any items currently in the customers cart that are not paid for it will also include that.
Here is an example INQUIRE event type request:
```json
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "example_auth_header_123",
"x-api-key": "null"
},
"json": true,
"body": {
"tab_data": {
"tab_id": "14165",
"tab_uuid": "O2oFAC7fXeYNEWmmOBFZr_4S",
"location_id": "1019",
"name": "Austin Michael",
"spots": null,
"status": "PENDING",
"total": 1166,
"subtotal": 1100,
"tax": 66,
"balance_due": 1166,
"created": "2025-04-01T11:00:53.247Z",
"orders": [],
"items": [],
"adjustments": [],
"payments": [],
"customers": {},
"tab_metadata": null
},
"event_type": "INQUIRE",
"lookup_value": "+16082139090",
"location_id": "1019"
}
}
```
In order to indicate that a customer was found in your system please respond with a 200 status code. It is expected that even when there are no offers or points currently avaialble for a customer we will get a 200 status code with this JSON in the response:
```json
{
"loyalty_points": [],
"offers": []
}
```
In the case where the customer is eligible for offers or points here are a few examples of what your JSON responses may look like:
```json
Offers and Points
{
"loyalty_points": [
{
"type_display_name": "Loyalty Points",
"type": "points",
"total": 100,
"available": 100,
"value": 100,
"conversion_rate": 1
}
],
"offers": [
{
"name": "Offer Program Name",
"offers": [
{
"offer_id": "12344",
"name": "Free Drink",
"description": "This is good for any free drink",
"amount": 5,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": false,
"allow_partial_use": false
}
]
}
]
}
```
```json
Just Points
{
"loyalty_points": [
{
"type_display_name": "Loyalty Points",
"type": "points",
"total": 100,
"available": 100,
"value": 100,
"conversion_rate": 1
}
],
"offers": []
}
```
```json
Just Offers
{
"loyalty_points": [ ],
"offers": [
{
"name": "Offer Program Name",
"offers": [
{
"offer_id": "12344",
"name": "Free Drink",
"description": "This is good for any free drink",
"amount": 5,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": false,
"allow_partial_use": false
}
]
}
]
}
```
```javascript Offers Schema
export const LoyaltyOffersSchema = z.object({
loyalty_points: z.array(LoyaltyPointSchema),
offers: z.array(OfferGroupSchema),
});
const LoyaltyPointSchema = z.object({
type_display_name: z.string(),
type: z.string(),
total: z.number().positive({ message: 'Point total must be greater than 0' }),
available: z.number(),
value: z.number().positive({ message: 'Point value must be greater than 0' }),
conversion_rate: z.number().positive({ message: 'Point conversion rate must be greater than 0' }),
});
const OfferGroupSchema = z.object({
name: z.string(),
offers: z.array(OfferSchema),
});
const OfferSchema = z.object({
offer_id: z.string(),
name: z.string(),
description: z.string(),
amount: z.number().positive({ message: 'Offer amount must be greater than 0' }),
type: z.string(),
target_id: z.string().optional(),
expiration_date: z.string().optional(),
exclusive_offer: z.boolean(),
group_exclusive_offer: z.boolean(),
auto_apply: z.boolean(),
allow_partial_use: z.boolean(),
});
```
In order to indicate a customer was not found in your system please respond with a status code 404 and a JSON response that looks like the following. Please note that the message is up to you. If you want to indicate that the customer should take some specific action please do so, but keep it succinct. Mainly, just be aware that any message you include will end up as an alert in our UI.
```json
{
"message": "A membership was not found for that phone number."
}
```
For any other error please response with a 400 status code and an appropriate message.
REDEEM:
The REDEEM event type is an event that will be triggered each time a customer selects an offer or set of offers to be applied to their tab. The request will include the offer\_id's that were supplied by your system in the response to the INQUIRE event. The response to the REDEEM event will indicate which selected offers are valid and should be applied as discounts to the customers tab, and which offers may no longer be valid (something may have changed betweetn the INQUIRE and REDEEM events).
One thing to note here:
- The rejected\_offers objects allow you to include a rejected\_reason property. While not required, this will serve as a way to indicate to the customer as well as an operator why an offer may not be functioning as expcted. So, please please as specific as possible here. Something like "offer has already been applied" or "offer cannot be applied after 7pm."
Here's an example REDEEM event request:
```json REDEEM event JSON
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "",
"x-api-key": "null"
},
"json": true,
"body": {
"selected_offers": ["1234", "5678"],
"tab_data": {}, // same structure as other events
"event_type": "REDEEM",
"location_id": "1019"
}
}
```
GoTab expects back a 200 status code with the below data structure as a response:
```json REDEEM event response
{
"loyalty_points": [],
"offers": {
"rejected_offers": [
{
"offer_id": "90909",
"name": "Three bucks off",
"description": "This is a three dollars off offer.",
"amount": 3,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": false,
"allow_partial_use": false,
"rejected_reason": "Offer already redeemed."
}
],
"valid_offers": [
{
"offer_id": "12344",
"name": "Free Drink",
"description": "This is a free drink offer (five dollars).",
"amount": 5,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": false,
"allow_partial_use": false
},
{
"offer_id": "56789",
"name": "Ten bucks off",
"description": "This is a ten dollars off offer.",
"amount": 10,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": false,
"allow_partial_use": false
}
]
}
}
```
```json REDEEM event response schema
const offerBaseSchema = z.object({
offer_id: z.string(),
name: z.string(),
description: z.string(),
amount: z.number(),
type: z.literal("tab_discount"),
exclusive_offer: z.boolean(),
group_exclusive_offer: z.boolean(),
auto_apply: z.boolean(),
allow_partial_use: z.boolean()
});
const rejectedOfferSchema = offerBaseSchema.extend({
rejected_reason: z.string()
});
const validOfferSchema = offerBaseSchema;
const schema = z.object({
loyalty_points: z.array(z.any()),
offers: z.object({
rejected_offers: z.array(rejectedOfferSchema),
valid_offers: z.array(validOfferSchema)
})
});
```
ENROLL:
The ENROLL event type lets a guest sign up for your loyalty program from the GoTab guest experience, without leaving their tab. It is a synchronous, customer-driven event: GoTab collects the guest's details in an enrollment form and posts them to the same loyalty URL used for the other event types.
Enrollment must be turned on for the integration. In the GoTab manager dashboard, enable Enable Customer Enrollment on the location's third party loyalty agent configuration. If it is not enabled, GoTab never renders the enrollment form and never sends ENROLL events.
Triggering the enrollment form
The enrollment form is offered when your platform tells GoTab, in response to an INQUIRE event, that the guest has no account yet. To request enrollment, respond to the INQUIRE event with a 404 status code and the exact message ENROLL_CUSTOMER:
```json
{
"message": "ENROLL_CUSTOMER"
}
```
The message must match ENROLL_CUSTOMER exactly — any other 404 message is treated as a normal "customer not found" result and is surfaced to the guest as an alert (see the INQUIRE section above).
The ENROLL request
When the guest submits the enrollment form, GoTab posts an ENROLL event. Note that the guest's details are nested under a customer\_data object, unlike the other event types.
```json ENROLL event JSON
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "example_auth_header_123",
"x-api-key": "null"
},
"json": true,
"body": {
"customer_data": {
"enrollment_customer_first_name": "Austin",
"enrollment_customer_last_name": "Michael",
"enrollment_customer_email": "austin.michael@example.com",
"enrollment_customer_phone_number": "+16082139090",
"enrollment_customer_date_of_birth": "1990-05-14",
"email_marketing_opt_in": true
},
"event_type": "ENROLL",
"location_id": "1019",
"tab_id": "14165"
}
}
```
Field notes:
enrollment\_customer\_first\_name, enrollment\_customer\_last\_name — required in the form, always present.
enrollment\_customer\_email — required and validated as an email address.
enrollment\_customer\_phone\_number — required, collected as an international phone number and sent in E.164 format (e.g. +16082139090).
enrollment\_customer\_date\_of\_birth — required, always sent as a zero-padded YYYY-MM-DD string.
email\_marketing\_opt\_in — always a boolean, never null or absent. See below.
tab\_id — the tab the guest enrolled from. May be null when the guest is enrolling outside the context of a tab.
Email marketing opt-in
The enrollment form includes a marketing consent toggle, and its value is sent as the boolean email\_marketing\_opt\_in inside customer\_data. The toggle is presented alongside this consent language:
Yes, I would like to opt-in to the loyalty club and receive emails about news, announcement, promotions, offers and more! You can opt out at any time by clicking the unsubscribe link in the email footer.
Two things to be aware of when handling this field:
- The toggle defaults to on, so
true is the common case. A guest who turns it off produces false, and you should not enroll them in marketing email as a result of this event.
- GoTab always coerces the value to a boolean before sending, so you can rely on
email\_marketing\_opt\_in being present and being either true or false. Treat it as the guest's marketing consent of record for this enrollment; GoTab does not send a follow-up event if the guest later changes their preference in your platform, and unsubscribe handling is your platform's responsibility.
Responses
Respond with a 200 status code to indicate the guest was enrolled. GoTab does not read any properties off the success response body, so an empty JSON object is acceptable:
```Text json
{
"message": "success"
}
```
On success the guest sees a confirmation and is returned to the lookup screen, where they can immediately look up the account you just created. Because of this, the enrollment should be queryable by the configured lookup type as soon as you return 200.
For a failure, respond with a 4xx status code and a message. The message is displayed directly to the guest, so keep it short and actionable:
```Text json
{
"message": "An account already exists for that phone number."
}
```
If the response has no message, the guest sees the generic fallback "An unrecognized error occurred, please see a staff member." The guest is returned to the enrollment form with their entries intact so they can correct and resubmit.
ACCRUAL:
The ACCRUAL event type will be an asynchronous request that will be triggered for each tab at a location as they are closed and updated in GoTab. It will basically act as an export of the tab's sales data and will include the data of the customers associated with the tab.
We intentionally send an ACCRUAL event type request for every closed tab. This may include data for customers who are not currently using your loyalty program. The idea here is that you could still store the data and in the event a customer signs up for the loyalty program after having been at the location many times prior they may get credit for those previous visits. This would depend on the limitations of your program and whether the operator configured it to behave that way.
Here's an example request for an ACCRUAL event type request
```Text json
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "example_auth_header_123",
"x-api-key": "null"
},
"json": true,
"body": {
"tab_data": {
"tab_id": "9200",
"tab_uuid": "tOp_3qizc55ojTehKtoGGKZc",
"location_id": "100800",
"name": "Test User",
"spots": ["109104"],
"status": "CLOSED",
"total": 1619,
"subtotal": 1295,
"tax": 130,
"balance_due": 0,
"created": "2025-02-17T13:10:51.759Z",
"orders": [
{
"tax": 130,
"name": "Test User",
"notes": null,
"total": 1619,
"placed": "2025-02-17T13:10:59.358228-05:00",
"status": "SCHEDULED",
"spot_id": 109104,
"user_id": null,
"zone_id": 16866,
"order_id": 72970599,
"subtotal": 1295,
"scheduled": "2025-02-17T13:10:59.358228-05:00",
"spot_name": "Bar 101",
"x_spot_id": null,
"x_zone_id": null,
"zone_name": "Bar",
"zone_type": null,
"address_id": null,
"dispatched": null,
"display_id": null,
"order_uuid": "or_WjMDstvFo3HGAC2Ef1qZcvBd",
"customer_id": 21569877,
"dropoff_eta": null,
"location_id": 100800,
"spot_user_id": null,
"spot_url_name": "bar-101",
"zone_group_id": 2425,
"zone_group_type": "DINING",
"spot_agent_configs": null,
"zone_agent_configs": null
}
],
"items": [
{
"fee": false,
"tax": 130,
"notes": {},
"comped": false,
"status": "OPEN",
"tab_id": 9200,
"x_name": "BBQ Brisket",
"created": "2025-02-17T13:10:54.209875",
"item_id": 16828,
"options": {},
"order_id": 72970599,
"prepared": null,
"recalled": null,
"subtotal": 1295,
"tax_rate": 0.1,
"discounts": false,
"prep_time": 0,
"x_item_id": null,
"dispatched": null,
"product_id": 17680342,
"router_ids": [2203],
"unit_price": 1295,
"x_metadata": null,
"x_quantity": 1,
"category_id": 55060,
"product_tags": ["60employee"],
"product_type": "DEFAULT",
"product_uuid": "prd_1L4pqUUNkJlDC8cV2d~EtweQ",
"x_product_id": null,
"adjust_reason": null,
"category_name": "Lunch Sandwiches",
"item_subtotal": 1295,
"order_rule_id": null,
"product_delay": null,
"x_item_details": {},
"x_product_name": null,
"product_options": {},
"tax_rate_detail": [
{
"rate": 0.1,
"tax_id": 801,
"weight": 1,
"tax_name": "Tax"
}
],
"true_unit_price": 1295,
"true_x_quantity": 1,
"x_price_level_id": null,
"product_base_price": 1295,
"x_product_base_price": null,
"order_rule_discount_percentage": null
}
],
"adjustments": [],
"payments": [
{
"amount": 1619,
"tip": 130,
"name": "TEST USER",
"autograt": 194,
"created": "2025-02-17T13:10:58.447506-05:00",
"customer_id": 21569877
}
],
"customers": {
"tabOwnerIsPOSUser": false,
"tabOwnerCustomerId": "21569877",
"allCustomersOnTab": [
{
"tab_id": "9200",
"customer_id": "21569877",
"created": "2025-02-17T13:10:51.759Z",
"tab_viewed": "2025-02-17T13:10:51.851Z",
"handle": "+16082139087",
"protocol": "s",
"email": null
}
]
},
"tab_metadata": null
},
"event_type": "ACCRUAL"
}
}
```
A 200 response would look like the following (note the id which we store in our system for referential integrity and reconciliation):
```Text json
{
"message": "success",
"id": "hl123hlj12h31"
}
```
A 4xx response in addition to having the relevant status code should include a message that we log out on our side in order to debug:
```Text json
{
"message": "Tab missing customer data."
}
```
REVERSAL:
The REVERSAL type event is an asynchronous event that will be triggered when an applied offer is voided off a tab or a tab with applied offers is fully refunded. At your discretion, this will serve as a way to make these offers available to applied again.
Here's an example request for a REVERSAL type event request:
```json
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "example_auth_header_123",
"x-api-key": "null"
},
"json": true,
"body": {
"reversed_offers": ["offer_id_1", "offer_id_2"],
"event_type": "REVERSAL",
"location_id": "1019"
}
}
```
A 200 response to this will look like this:
```Text json
{
"reversal_id": 90909
}
```
A 4xx response to this request should look like this:
```Text json
{
"message": "Offer reversal failed for this reason."
}
```
---
## Common issues
### "Unable to add tab to account" on check-in
This error indicates the integration is missing the **Agents** permission on the location. To resolve: in the GoTab manager dashboard, navigate to the location's integration settings and confirm the Agents permission is enabled for the loyalty integration. If the option is not visible, contact [api.support@gotab.io](mailto:api.support@gotab.io).
### Loyalty events not reaching your endpoint
Check the following in order:
1. **Webhook endpoint registered** — confirm your endpoint URL is listed in the Integration Dashboard at [gotab.io/manager/integrations](https://gotab.io/manager/integrations) and that the relevant loyalty event types are subscribed.
2. **Integration enabled on production** — a common mistake is completing setup in sandbox and forgetting to enable the integration on the production location. Verify the integration status is **enabled** (not just configured) on your live account.
3. **Endpoint is reachable** — your endpoint must be publicly accessible over HTTPS. Check that there are no firewall rules or auth layers blocking GoTab's webhook agent (`User-Agent: GoTab-WebhookAgent`).
---
# GoTab Promo API
URL: https://docs.gotab.io/guides/gotab-promo-api/
Description: The GoTab Promo API is an events-driven API to be consumed by a third party promo (code) program.
The GoTab Promo API is an events-driven API to be consumed by a third party promo (code) program.
GoTab Promo API Dependencies:
URL for GoTab to POST promo events to (e.g. myloyaltyplatform.com/gotab/events).
Authorization header value for your platform to confirm requests are coming from GoTab (optional).
Event Types:
Customer driven, sychronous events: INQUIRE and REDEEM
Asynchronous events: REVERSE
INQUIRE:
The inquire event will be triggered by the customer entering their promo code and hitting submit in the GoTab UI. The inquire event type will have a payload that includes the event\_type: INQUIRE. It will also include the promo code entered by the customer as the lookup\_value. If there are any items currently in the customers cart that are not paid for it will also include that.
```Text json
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "example_auth_header_123",
"x-api-key": "null"
},
"json": true,
"body": {
"tab_data": {
"tab_id": "14165",
"tab_uuid": "O2oFAC7fXeYNEWmmOBFZr_4S",
"location_id": "1019",
"name": "Austin Michael",
"spots": null,
"status": "PENDING",
"total": 1166,
"subtotal": 1100,
"tax": 66,
"balance_due": 1166,
"created": "2025-04-01T11:00:53.247Z",
"orders": [],
"items": [],
"adjustments": [],
"payments": [],
"customers": {},
"tab_metadata": null
},
"event_type": "INQUIRE",
"lookup_value": "PROMO_CODE_EXAMPLE",
"location_id": "1019"
}
}
```
In order to indicate that the promo code entered is valid we expect a 200 response with the associated offer:
```Text JSON
{
"loyalty_points": [],
"offers": [
{
"name": "Offer Program Name",
"offers": [
{
"offer_id": "12344",
"name": "Free Drink",
"description": "This is good for any free drink",
"amount": 5,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": true,
"allow_partial_use": false
}
]
}
]
}
```
This is very similar to how we handle offers via our Loyalty API. The difference here is that we always expect the auto\_apply property to be true for an offer associated with a promo code. You can include multiple offers in your response if there are multiple offers associated with a promo code in your system.
In order to indicate that the entered promo code is not valid please respond with a status code 404 and a JSON response that looks like the following. Please note that the message is up to you. If you want to indicate that the customer should take some specific action please do so, but keep it succinct. Mainly, just be aware that any message you include will end up as an alert in our UI.
```Text JSON
{
"message": "Uh oh! Looks like this promo code has already been used."
}
```
For any other error please response with a 400 status code and an appropriate message.
REDEEM:
The REDEEM event type is an event that will be triggered automatically each time there is an INQUIRE event for the Promo API. The request will include the offer\_id's that were supplied by your system in the response to the INQUIRE event. The response to the REDEEM event will indicate which selected offers are valid and should be applied as discounts to the customers tab, and which offers may no longer be valid (something may have changed betweetn the INQUIRE and REDEEM events).
Here's an example REDEEM event request:
```Text JSON
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "",
"x-api-key": "null"
},
"json": true,
"body": {
"selected_offers": ["12344"],
"tab_data": {}, // same structure as other events
"event_type": "REDEEM",
"location_id": "1019"
}
}
```
GoTab expects back a 200 status code with the below data structure as a response:
```Text JSON
{
"loyalty_points": [],
"offers": {
"rejected_offers": [],
"valid_offers": [
{
"offer_id": "12344",
"name": "Free Drink",
"description": "This is a free drink offer (five dollars).",
"amount": 5,
"type": "tab_discount",
"exclusive_offer": false,
"group_exclusive_offer": false,
"auto_apply": false,
"allow_partial_use": false
}
]
}
}
```
REVERSAL:
The REVERSAL type event is an asynchronous event that will be triggered when an applied offer is voided off a tab or a tab with applied offers is fully refunded. At your discretion, this will serve as a way to make these offers available to applied again.
Here's an example request for a REVERSAL type event request:
```Text JSON
{
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "example_auth_header_123",
"x-api-key": "null"
},
"json": true,
"body": {
"reversed_offers": ["12344"],
"event_type": "REVERSAL",
"location_id": "1019"
}
}
```
A 200 response to this will look like this:
```
{
"reversal_id": 90909
}
```
A 4xx response to this request should look like this:
```Text JSON
{
"message": "Offer reversal failed for this reason."
}
```
---
# GoTab Wallet
URL: https://docs.gotab.io/guides/gotab-wallet/
Description: Embed the GoTab Wallet into your website to give customers a complete payment management experience — view, add, and delete saved cards, and pay with digital wallets like Apple Pay and Google Pay.
The GoTab Wallet is an embeddable payment interface that gives customers a complete payment management experience within your website. It supports saving and managing payment methods, paying with digital wallets (Apple Pay, Google Pay), and handles phone verification and session management automatically.
The wallet is loaded via the [Payment SDK](./payment-sdk) and mounted with `initWallet`.
## Installation
Include the SDK bundle in your page:
```html
```
This exposes a global `PaymentsSDK` object on `window`.
---
## Mounting the Wallet
### `initWallet(container, config)`
Mounts the GoTab Wallet interface into the specified container.
**Parameters**
| Parameter | Type | Description |
| --- | --- | --- |
| `container` | `HTMLElement \| string` | DOM element or CSS selector for rendering the wallet. |
| `config` | `WalletConfig` | Configuration object (see [Wallet Configuration](#walletconfig)). |
**Behavior**
1. Creates an embedded iframe containing the GoTab Wallet interface.
2. Establishes secure communication with the wallet using the provided credentials.
3. Allows customers to view, add, delete, and manage their saved payment methods.
4. Supports payment processing with saved cards and digital wallets (Apple Pay, Google Pay).
5. Handles phone verification and session management automatically.
---
## Configuration
### `WalletConfig`
| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `clientApiAccessId` | `string` | Yes | Your client-side API access ID. |
| `clientApiAccessSecret` | `string` | Yes | Your client-side API access secret. |
| `tabUuid` | `string` | Yes | UUID of the tab associated with this wallet session. |
| `paymentSessionId` | `string` | Yes | Payment session ID for authenticating wallet operations. |
| `domainName` | `string` | Yes | Domain name of the website that contains the iframe. |
| `onPaymentSuccess` | `(data) => void` | Yes | Called on successful payment. See [Payment Success Data](#payment-success-data) for details. |
| `paymentSessionToken?` | `string` | No | Payment session token (if customer is already verified). |
| `customerId?` | `string` | No | Customer ID (if customer is already verified). |
| `theme?` | `string` | No | Theme identifier for styling the wallet interface. |
---
## Example
```html
My Wallet
```
---
## Payment Success Data
When a payment is successfully processed, the `onPaymentSuccess` callback receives a `data` object with the following structure:
```ts
{
payments: Array<{
amount: number; // Tab total amount in cents (e.g., 690 = $6.90)
customer_fee: number; // Customer fee in cents (e.g., 32 = $0.32)
gateway: string; // Payment gateway used (e.g., "ADYEN")
payment_id: string; // Unique payment identifier
payment_type: string; // Card type (e.g., "VISA", "MASTERCARD")
processor_id: string; // Processor identifier
}>;
tab_uuid: string; // UUID of the tab
amount: number; // Tab total in cents
}
```
**Example:**
```js
onPaymentSuccess: (data) => {
const payment = data.payments[0];
const totalDollars = (payment.amount + payment.customer_fee) / 100;
console.log(`Charged: $${totalDollars.toFixed(2)}`);
console.log(`Payment ID: ${payment.payment_id}`);
console.log(`Card Type: ${payment.payment_type}`);
}
```
---
# GraphQL API introduction
URL: https://docs.gotab.io/guides/graphql-intro/
Description: Learn how to query the GoTab GraphQL API — from your first request to efficient filtering with fiscalDay.
The GoTab GraphQL API lives at `https://gotab.io/api/graph` and uses the same Bearer token as the REST API. This guide walks through making your first query, reading catalog and tab data, and filtering efficiently — including the indexing patterns that keep queries fast.
For a comparison of when to use GraphQL versus REST, see the [overview page](/getting-started/).
---
## What is GraphQL?
If you haven't used GraphQL before: it's a query language where you describe exactly the data you want, and the server returns precisely that — no more, no less. Instead of hitting multiple REST endpoints and stitching results together, you write one query that fetches nested data in a single request.
Every GoTab GraphQL request is a `POST` to the same URL. You send a `query` string in the request body, and the server returns a JSON object with your results under a `data` key.
GraphQL is best for **reading** — catalog sync, reporting, order history, and anything that benefits from fetching related data together. REST is still the right tool for **actions** like creating tabs.
---
## Making your first query
```bash
curl -X POST https://gotab.io/api/graph \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"query": "{ locationsList { locationUuid name } }"
}'
```
**Response:**
```json
{
"data": {
"locationsList": [
{ "locationUuid": "loc_abc123", "name": "Main Street" },
{ "locationUuid": "loc_def456", "name": "Downtown" }
]
}
}
```
All results are under `data`. If something goes wrong, an `errors` array appears alongside `data` — your `data` fields will be `null` for anything that failed.
---
## Using the GraphQL Explorer
The interactive explorer at [docs.gotab.io/api-reference/graphql](/api-reference/graphql) lets you browse the full schema, autocomplete field names, and run queries live against your sandbox.
To authenticate:
1. Open the **Headers** panel in the explorer.
2. Add: `Authorization: Bearer YOUR_TOKEN`
3. Run any query — results appear in the right panel.
Use your sandbox credentials here so you're not hitting production while exploring.
---
## Two query styles: List queries vs single-record lookups
You'll notice the schema has two forms for most resources:
- `tabsList(...)` — returns an array, supports filtering and pagination
- `tab(tabId: BigInt!)` or `tabByTabUuid(tabUuid: String!)` — returns a single record by ID
Use list queries when pulling sets of data for reporting or sync. Use single-record lookups when you already have an ID and just need the details for that one thing.
```graphql
# Single record lookup
{
tabByTabUuid(tabUuid: "nIJHITr9GU1U9zNCakTdk9iA") {
tabUuid
status
total
created
}
}
```
---
## Fetching catalog data
Menus, categories, and products are each queryable as flat top-level lists. Filter them by `locationId` (the numeric ID, not the UUID) using the `condition` argument:
```graphql
{
menusList(condition: { locationId: 12345 }) {
menuId
name
startTime
endTime
}
}
```
To get categories for a specific menu:
```graphql
{
categoriesList(condition: { locationId: 12345 }) {
categoryId
label
xCategoryId
}
}
```
To get products:
```graphql
{
productsList(condition: { locationId: 12345 }) {
productId
name
price
available
description
}
}
```
:::tip
Pass `includeArchived: NO` to exclude archived/disabled items from catalog queries. The default includes them.
:::
---
## Fetching tab and order data
`tabsList` returns tabs for a location. Filter by `locationId` using `condition`:
```graphql
{
tabsList(condition: { locationId: 12345 }) {
tabUuid
status
total
created
fiscalDay
ordersList {
orderId
orderUuid
status
total
itemsList {
name
quantity
unitPrice
subtotal
}
}
}
}
```
---
## Filtering efficiently — use `fiscalDay`, not timestamp ranges
:::caution
**This section is important.** Filtering tabs, orders, or ledger entries by raw timestamp without also filtering by `fiscalDay` will result in slow queries and potential timeouts. Always scope large queries to a `fiscalDay` first.
:::
GoTab organizes transactional data around **fiscal days** — date strings in `YYYY-MM-DD` format that represent a location's business day (which may not align with midnight UTC). The `fiscalDay` field is indexed; arbitrary timestamp ranges are not.
The pattern that works:
```graphql
{
tabsList(
condition: { locationId: 12345 }
filter: { fiscalDay: { equalTo: "2024-01-15" } }
) {
tabUuid
status
total
fiscalDay
}
}
```
For a date range, use `greaterThanOrEqualTo` and `lessThanOrEqualTo` together:
```graphql
{
tabsList(
condition: { locationId: 12345 }
filter: {
fiscalDay: {
greaterThanOrEqualTo: "2024-01-01"
lessThanOrEqualTo: "2024-01-31"
}
}
) {
tabUuid
status
total
fiscalDay
created
}
}
```
The same applies to `ordersList` and ledger queries — filter on `fiscalDay` first, then narrow further if needed.
### What is a fiscal day?
A fiscal day is the date GoTab assigns to a business transaction, based on when the location's business day started — not UTC midnight. A tab opened at 11:30 PM and closed at 1:00 AM the next calendar day will both belong to the same fiscal day. If you're building a daily report, always query by `fiscalDay` rather than trying to calculate the right UTC window.
You can look up which fiscal day a specific timestamp belongs to using:
```graphql
{
goFiscalDay(
_locationId: 12345
_utcTimestamp: "2024-01-15T02:30:00Z"
)
}
```
This returns the `fiscalDay` date string for that moment at that location.
---
## Ledger entries for reporting and reconciliation
For payment-level reporting (tip amounts, payment methods, refunds, order source), use `ledgerEntriesList` or `realTimeLedgerEntriesList` rather than querying tabs directly.
- `ledgerEntriesList` — settled data, best for end-of-day reports and accounting exports
- `realTimeLedgerEntriesList` — reflects live state including open tabs, useful for dashboards
Both support `fiscalDay` filtering:
```graphql
{
ledgerEntriesList(
condition: { locationId: 12345 }
filter: { fiscalDay: { equalTo: "2024-01-15" } }
) {
tabUuid
total
tax
tip
fiscalDay
created
}
}
```
### Identifying order source (server vs customer-placed)
The `pointOfInteraction` field on the `Payment` type indicates whether an order was placed at a server terminal (POS) or by a customer via QR:
```graphql
{
paymentsList(
condition: { locationId: 12345 }
filter: { fiscalDay: { equalTo: "2024-01-15" } }
) {
paymentId
amount
tip
pointOfInteraction
created
}
}
```
- `"SERVER"` — placed through the POS by a staff member
- `"CONSUMER"` — placed by a guest via QR or web
---
## Pagination
For large result sets, use `first` to limit the page size and `offset` for simple offset pagination:
```graphql
{
tabsList(
condition: { locationId: 12345 }
filter: { fiscalDay: { equalTo: "2024-01-15" } }
first: 50
offset: 0
) {
tabUuid
status
total
}
}
```
Increment `offset` by `first` on each subsequent request to page through results. For cursor-based pagination (more efficient for large datasets), see [Pagination](/concepts/pagination/).
:::tip
Even with pagination, always include a `fiscalDay` filter on tabs and ledger queries. Paginating over an unfiltered tab list will still time out.
:::
---
## Querying employees
The field for GoTab staff members is `employeesList`, not `usersList`:
```graphql
{
employeesList(condition: { locationId: 12345 }) {
employeeUuid: userRoleUuid
name
roleName
}
}
```
---
## The `condition` vs `filter` argument — what's the difference?
Both arguments narrow results, but they work differently:
- **`condition`** matches rows where a field equals an exact value. It maps directly to indexed columns and is always fast. Use it to scope to a location: `condition: { locationId: 12345 }`.
- **`filter`** supports range operators (`greaterThanOrEqualTo`, `lessThanOrEqualTo`, `equalTo`, `in`, etc.) and can combine multiple conditions. Use it for date ranges and non-equality checks.
The most efficient queries combine both — `condition` to hit the index, `filter` to narrow within it:
```graphql
tabsList(
condition: { locationId: 12345 } # index hit
filter: { fiscalDay: { equalTo: "2024-01-15" } } # narrow within
)
```
Avoid using `filter` alone for location scoping — always put `locationId` in `condition`.
---
## Common errors
| Code | Cause | Action |
|------|-------|--------|
| `401` | Token expired | Refresh with your `refresh_token` and retry |
| `403` | Token valid but no access to that location | Check `allowed_location_ids` on the credential, or re-run the OAuth authorization flow for that location |
| Timeout / empty result | Query missing `fiscalDay` filter on a large table | Add `filter: { fiscalDay: { equalTo: "..." } }` to scope the query |
| Schema error on field name | Field doesn't exist (e.g. `usersList`) | Check the [GraphQL Explorer](/api-reference/graphql) for the correct field name |
For general error handling patterns, see [Error Handling](/concepts/error-handling/).
---
# Payment SDK
URL: https://docs.gotab.io/guides/payment-sdk/
Description: A lightweight JavaScript SDK for securely managing customer payment methods using VGS Collect. Loaded via a single CDN script and exposing a simple global API for mounting an Add Card form, mounting an Apple Pay button, and fetching/deleting saved cards.
A lightweight JavaScript SDK for securely managing customer payment methods using VGS Collect. Loaded via a single CDN script and exposing a simple global API for mounting an "Add Card" form, mounting an Apple Pay button, and fetching/deleting saved cards.
## Installation
Include the SDK bundle in your page:
```html
```
This exposes a global `PaymentsSDK` object on `window`.
---
## Global API
`window.PaymentsSDK` provides these methods:
| Method | Description |
| --- | --- |
| `initAddCardForm(container, config)` | Mounts an "Add Card" form for saving payment methods. |
| `initApplePay(container, config)` | Mounts a standalone Apple Pay button. |
| `fetchPaymentMethods(clientApiAccessId, clientApiAccessSecret, customerProfileUuid)` | Fetches saved cards for a customer. |
| `deletePaymentMethod(clientApiAccessId, clientApiAccessSecret, customerProfileUuid, paymentMethodUuid)` | Deletes a saved payment method. |
---
## API Reference
### `initAddCardForm(container, config)`
Mounts an "Add Card" form into the specified container, handling VGS Collect setup, form fields, styling, and submission.
**Parameters**
| Parameter | Type | Description |
| --- | --- | --- |
| `container` | `HTMLElement \| string` | DOM element or CSS selector for rendering the form. |
| `config` | `PaymentsSDKConfig` | Configuration object (see [Configuration](#paymentssdkconfig)). |
**Behavior**
1. Fetches payment context from your back end (via `/api/payment-methods/context/:customerProfileUuid`).
2. Loads the VGS Collect script (`vgs-collect.js`) from VGS's CDN.
3. Renders a React form with fields for first name, last name, email, card number, expiration date, CVC, and ZIP.
4. Applies any custom styling passed via `formProps`.
5. Handles form submission, invoking provided callbacks on success or error.
---
### `initApplePay(container, config)`
Mounts a standalone Apple Pay button into the specified container. Unlike `initWallet`, this is a payment-only surface — no card management, no phone verification, no saved cards. It loads an embedded iframe that presents the native Apple Pay sheet when the customer taps it.
**Parameters**
| Parameter | Type | Description |
| --- | --- | --- |
| `container` | `HTMLElement \| string` | DOM element or CSS selector for rendering the Apple Pay button. |
| `config` | `ApplePayConfig` | Configuration object (see [Apple Pay Configuration](#applepayconfig)). |
**Behavior**
1. Creates an embedded iframe pointing at the GoTab Apple Pay page for the given tab.
2. Receives the embedding page's `domainName` via `postMessage` so the Apple Pay session can be created against the correct merchant domain.
3. On tap, opens the native Apple Pay sheet and charges the tab on confirmation.
4. Emits a `PAYMENT_SUCCESS` message back to the parent page; the SDK forwards it to your `onPaymentSuccess` callback.
**Requirements**
- The tab's location must be on the **Adyen** payment gateway with a digital wallet key configured.
- The embedding page **must be served over HTTPS** in production (Apple Pay requires it).
- Apple Pay is only available in Safari/iOS Safari on supported devices — the button will not render on unsupported browsers.
---
### `fetchPaymentMethods(clientApiAccessId, clientApiAccessSecret, customerProfileUuid)`
Fetches saved cards for the specified customer.
**Parameters**
| Parameter | Type | Description |
| --- | --- | --- |
| `clientApiAccessId` | `string` | Your client-side API access ID. |
| `clientApiAccessSecret` | `string` | Your client-side API access secret. |
| `customerProfileUuid` | `string` | UUID of the customer profile. |
**Returns**
`Promise` resolving to an object `{ cards: Card[] }`.
---
### `deletePaymentMethod(clientApiAccessId, clientApiAccessSecret, customerProfileUuid, paymentMethodUuid)`
Deletes a saved payment method.
**Parameters**
| Parameter | Type | Description |
| --- | --- | --- |
| `clientApiAccessId` | `string` | Your client-side API access ID. |
| `clientApiAccessSecret` | `string` | Your client-side API access secret. |
| `customerProfileUuid` | `string` | UUID of the customer profile. |
| `paymentMethodUuid` | `string` | UUID of the payment method to delete. |
**Returns**
`Promise` resolving to `true` if deletion succeeded.
---
## Configuration
### `PaymentsSDKConfig`
| Property | Type | Description |
| --- | --- | --- |
| `clientApiAccessId` | `string` | Your client-side API access ID. |
| `clientApiAccessSecret` | `string` | Your client-side API access secret. |
| `customerProfileUuid` | `string` | UUID of the customer's profile. |
| `locationUuid` | `string` | UUID of the location. |
| `formProps` | `object` | Per-field overrides: placeholder text, styling, icons, etc. |
| `onLoading?` | `(isLoading: boolean) => void` | Called when the form or submission is loading. |
| `onSuccess` | `(status: number, data: { card: Card; errors: any }) => void` | Called on successful card add; `data.card` is the new card. |
| `onError` | `(error: Error) => void` | Called on error (initialization, submission, or validation). |
| `stateCallback?` | `(state: FieldState) => void` | Optional field-level state updates (focus, validity, error messages). |
---
### `ApplePayConfig`
| Property | Type | Description |
| --- | --- | --- |
| `tabUuid` | `string` | UUID of the tab to be charged. |
| `domainName` | `string` | Domain name of the website that contains the iframe. |
| `onPaymentSuccess` | `(data) => void` | Called on successful payment. See [Payment Success Data](#payment-success-data) for details. |
---
## Styling the Form
You can customize the appearance of each input by providing CSS-in-JS overrides and custom colors. Define a style object:
```js
const styleOverrides = {
css: {
/* your CSS-in-JS rules here */
boxSizing: 'border-box',
fontFamily: 'Arial, sans-serif',
'&::placeholder': { color: '#999999' }
},
successColor: '',
errorColor: ''
};
```
Then add those overrides into the desired field's props in `formProps`:
```js
const config = {
clientApiAccessId: 'YOUR_CLIENT_API_ACCESS_ID',
clientApiAccessSecret: 'YOUR_CLIENT_API_ACCESS_SECRET',
customerProfileUuid: 'CUSTOMER_PROFILE_UUID',
locationUuid: 'LOCATION_UUID',
formProps: {
first_name: { placeholder: 'First name', ...styleOverrides },
last_name: { placeholder: 'Last name', ...styleOverrides },
email: { placeholder: 'Email', ...styleOverrides },
card_number: { placeholder: 'Card number', showCardIcon: true, ...styleOverrides },
cvc: { placeholder: 'CVC', showCardIcon: true, ...styleOverrides },
card_exp: { placeholder: 'MM / YYYY', ...styleOverrides },
zip: { placeholder: 'ZIP code', ...styleOverrides }
},
onLoading: isLoading => { /* e.g. show spinner */ },
onSuccess: (status, data) => { /* handle added card */ },
onError: error => { /* handle error */ },
stateCallback: state => { /* field-level updates */ }
};
```
All CSS properties and color settings will be applied directly to the corresponding input fields.
---
## Types
### `Card`
```ts
interface Card {
payment_method_uuid: string;
visual_cue: string;
payment_type: string;
expire_year: string;
expire_month: string;
name: string;
zip: string;
}
```
### `FieldState`
```ts
interface FieldState {
isDirty: boolean;
isFocused: boolean;
isValid: boolean;
isEmpty: boolean;
isTouched: boolean;
errorMessages: string[];
last4?: string;
bin?: string;
cardType?: string;
}
```
---
## Examples
### Add Card Form
```html
Checkout
```
---
### Apple Pay
```html
Apple Pay
```
---
## Payment Success Data
When a payment is successfully processed, the `onPaymentSuccess` callback receives a `data` object with the following structure:
```ts
{
payments: Array<{
amount: number; // Tab total amount in cents (e.g., 690 = $6.90)
customer_fee: number; // Customer fee in cents (e.g., 32 = $0.32)
gateway: string; // Payment gateway used (e.g., "ADYEN")
payment_id: string; // Unique payment identifier
payment_type: string; // Card type (e.g., "VISA", "MASTERCARD")
processor_id: string; // Processor identifier
}>;
tab_uuid: string; // UUID of the tab
amount: number; // Tab total in cents
}
```
**Example:**
```js
onPaymentSuccess: (data) => {
const payment = data.payments[0];
const amountDollars = payment.amount / 100;
const feeDollars = payment.customer_fee / 100;
const totalDollars = (payment.amount + payment.customer_fee) / 100;
console.log(`Charged: $${totalDollars.toFixed(2)}`);
console.log(`Payment ID: ${payment.payment_id}`);
console.log(`Card Type: ${payment.payment_type}`);
}
```
---
# Products & Menus 101
URL: https://docs.gotab.io/guides/products/
Description: Getting menus, categories, and products A location's catalog is split into menus, categories in a menu, and products in each category. Products w
## Getting menus, categories, and products
A location's catalog is split into menus, categories in a menu, and products in each category.\
Products will only show up in a single category, but categories may show up on multiple menus.
In typical situations you may only want to retrieve available menus, available categories, and available products. For example, menus, categories, and products that are enabled and in-schedule. A simple query for a single location might look like this:
> You might also choose to limit this query by a specific menu via the menuUuid or by using the (not implemented) `availableMenu` if you happen to have a dedicated menu for the integration.
```gql
query ($locationUuid: String!) {
location(locationUuid: $locationUuid) {
name
available
availableMenusList {
name
availableCategoriesList {
label
availableProductsList {
productId
productUuid
name
description
shortName
productCode
hasVariants
variantsList {
name
price
sku
}
# options
modifiers {
name
type
enabled
required
rank
product
allowOptionQuantities
options {
key
name
type
enabled
allowOptionQuantities
price
product
}
}
}
}
}
}
}
```
### Product Type Codes
Product categories and product types are used to label and categorize your products. However, product category and product type aren't the same thing.
A product type, is a label that you can define and that describes the category of a product. The product type lets you use product categories other than the ones an operator creates when building their catalog. The product type is made available in the product UI is a truncated list. It is returned in the GQL API as `productCode`. Below is the mapping table for our product type codes.
The product type UI in the catalog currently only lists Apparel & Accessories, Food, Beverages & Tobacco, Arts & Entertainment,Health & Beauty, and Gift card.
| Product Code | Product Type |
| ------------ | ------------------------- |
| A | Animals & Pet Supplies |
| B | Apparel & Accessories |
| C | Arts & Entertainment |
| D | Baby & Toddler |
| E | Business & Industrial |
| F | Cameras & Optics |
| G | Electronics |
| H | Food, Beverages & Tobacco |
| I | Furniture |
| J | Hardware |
| K | Health & Beauty |
| L | Home & Garden |
| M | Luggage & Bags |
| N | Mature |
| O | Media |
| P | Office Supplies |
| Q | Religious & Ceremonial |
| R | Software |
| S | Sporting Goods |
| T | Toys & Games |
| U | Vehicles & Parts |
| V | Gift card |
---
## Overriding prices at order time
Standard catalog items have a fixed price defined in GoTab and **cannot** be overridden in the item payload at order time. If your integration needs dynamic pricing, use one of the two patterns below.
### Pattern 1 — Open products
An open product is an ad-hoc item not tied to the catalog. Supply a `name` and `unitPrice` directly in the item payload — no `productUuid` needed. Use this when you need to set the price at the moment of ordering:
```json
{
"name": "Custom Service Charge",
"quantity": 1,
"unitPrice": 2500
}
```
`unitPrice` is in cents. This item appears on the receipt and KDS exactly as specified.
### Pattern 2 — Applying a discount after tab creation
If the tab already exists and you need to apply a discount after the fact — for example, a loyalty redemption or a promo applied externally — use:
```
POST /api/loc/{locationUuid}/tabs/{tabUuid}/open-discount
```
This is the right pattern for integrations that manage discounting logic outside of GoTab (e.g. a loyalty platform that decides discount amounts server-side). You don't need to recreate or modify the original items — just post the discount amount and it is applied to the open tab's balance.
---
# Reservation Integration
URL: https://docs.gotab.io/guides/reservation-integration/
Description: This documentation will describe the necessary steps to consume the GoTab API in order to create a reservation integration.
This documentation will describe the necessary steps to consume the GoTab API in order to create a reservation integration.
GoTab Location Dependencies
- Products: In order to set up a reservation integration the GoTab location will need to have products. These products will need to be mapped to the resource(s) available for reservation in your system so that when a resource is reserved in your system you know what product\_uuid's to pass our API. You can retrieve the data for these products by using the productsList GraphQL query
- Deposit Product(s): In order for GoTab to create a deposit for a reservation you will need to create a "deposit tab" with a specific deposit product on it. This product will need to be set up in GoTab. It should be set up as what we call an "open product." Meaning that its price is dynamic and you can pass our API whatever amount is appropriate given the reservation total and the rules the operator has defined around taking deposits. This deposit product will also need to be associated to a "deposit processor" in GoTab so that when the product is purchased it creates a record of the stored value. This allows for the deposit to be applied to the "day of tab" later in the guest experience. Often the name of this product in GoTab has something to do with the name of your platform. Something like "Reservations R Us Deposit Product." Lastly, you can (and should) pass our API a name for this product that is dynamic based on what is being reserved and when it is being reserved for.
- Reservation Deposit Spot: It is usually the case that the operator will want to have their deposit tabs created at a specific spot (think table). Often it includes the name of your platform. Something like "Reservations R Us Deposit Spot." This will need to be created in GoTab.
- Reservation Spot(s): Depending on the requirements of the integration you may also want to retrieve additional spots from GoTab. You can map these spots to resources in your system so that when you create the "day of tab" in our system you can create it at the appropriate spot. An example of this might be if someone books an hour of golf at "Bay 1" in your platform, upon the guest checking in, you can create the tab at the "Bay 1" spot in GoTab. In order to retrieve this data you will want to use the spotsList GraphQL query.
Creating the "Deposit Tab"
If the requirements of your reservation integration are such that you need to create deposits in GoTab this can accomplished by POSTing to our "Create a tab" route (REST API under ordering). You will want to specify the deposit product and deposit spot in your request. Once this tab is paid for by the guest it will create a deposit that can later be applied to the "day of tab".
Below is an example cURL request to create a "deposit tab." This example includes a reservation\_token under items.notes.your\_platform\_name, which can be optionally provided. If it is provided on the "deposit tab" AND on the "day of tab" our system will enforce validation to make sure the tokens match and the stored deposit is being applied to the correct "day of tab."
The rest of the data under item.notes should be included. This data will show up in our POS UI and will serve as a way for the operator's staff to identify what deposit they should be manually applying to the "day of tab."
```curl create the deposit tab
# Create the deposit tab
curl --request POST \
--url "https://gotab.io/api/loc//tabs" \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data '{
"openTab": true,
"phoneNumber": "",
"spotUuid": "",
"name": "",
"items": [
{
"product": {
"productUuid": ""
},
"quantity": 1,
"name": "",
"unitPrice": "",
"notes": {
"reservations_r_us": {
"reservation_token": "",
"customer_name": "",
"customer_handle": "",
"reservation_end": "12/12/2025 12:00 PM", -- these should be dynamic as well, but follow this format
"reservation_date": "2025-12-12",
"reservation_start": "12/12/2054 1:00 PM",
}
}
}
]
}'
```
Creating the "Day Of Tab"
This will be the tab that is created in GoTab that has the actual products/resources that were booked. The request to create this tab originating from your system can be scheduled to fire, but it's usually better if this request is triggered by some "check in" action made by the operator's staff when the guest arrives on site.
Below is an example cURL request to create a "day of tab." This example includes the optional preAuthSourceTab. The use case for this would be further optimizing the guest experience by copying the payment pre-auth from the guest's deposit tab payment onto this new tab, which would prevent the guest from needing to provide the same payment method upon arrival for their reservation. This is optional. It's a cool feature, but please only use this if the operator has specifically signed off on it and their staff are trained around it.
```curl create the day of tab
# Create the day of tab
curl --request POST \
--url https://gotab.io/api/loc//tabs \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '{
"openTab": true,
"spotUuid": ,
"name": ,
"items": [
{
"product": {
"productUuid": ""
},
"quantity": 1,
"notes": {
"reservations_r_us": {
"reservation_token": ""
}
}
}
]
"orderDetails": {"phoneNumber": },
"preauthSourceTab": {
"tabUuid": ,
"ccLastFour": ,
"customerId":
}
}'
```
---
# Tab Pass Spend Limits
URL: https://docs.gotab.io/guides/tab-pass-spend-limits/
Description: Restrict how much a specific pass holder can spend on a tab — for event budgets, corporate allowances, gift cards, or parental controls.
Tab Pass Spend Limits allow you to restrict how much a specific pass holder can spend on a tab. This feature enables controlled spending for use cases such as event budgets, corporate allowances, gift cards, or parental controls.
This guide is intended for third-party integrators using the GoTab API to manage tabs and tab passes programmatically.
---
## Prerequisites
- **Feature Flag**: The `tab_pass_spend_limits` feature flag must be enabled for your location(s). Contact your GoTab account representative to enable this feature.
- **API Credentials**: You must have valid API credentials with appropriate permissions (`location:tabs`, `location:orders`, or `manage:ordering`).
- **Base URL**: All endpoints use the base path `/api/v2/loc/{location}` where `{location}` is your location's unique identifier (URL name or locationUuid).
---
## How spend limits work
### Data structure
A spend limit consists of two properties:
- **`amount`** (integer, required): The spending limit in cents (e.g. `5000` = $50.00)
- **`enforce`** (string, required): The enforcement mode — either `"pre"` or `"post"`
### Enforcement modes
| Mode | Behavior | Use case |
|------|----------|----------|
| `pre` | **Block before exceeding** — An order that would cause the total spent to exceed the limit is blocked before it's placed. | Strict budget enforcement (e.g. corporate expense limits) |
| `post` | **Allow last order** — The order that reaches or crosses the limit is allowed, but the next order is blocked. | Flexible spending (e.g. event passes where you want to allow the final purchase) |
| `off` | No limit enforced | Removes the spend limit from a pass |
### Spent calculation
The `spent` amount is calculated as the sum of all **non-pending** and **non-voided** orders associated with the tab pass. This means:
- Orders with status `SENT`, `COMPLETE`, or `CLOSED` count toward the spent amount
- Orders with status `PENDING` or `VOIDED` do **not** count
:::caution
Only orders added through the [Add Items to Tab by Pass](#2-add-items-to-tab-by-pass) endpoint will increment the spent amount for that specific pass.
:::
---
## API endpoints
### 1. Get tab by tab pass
Retrieve tab information including the current spend limit and spent amount for a specific tab pass.
#### Endpoint
```
GET /api/v2/loc/{location}/tabs/passes/{x_pass_id}
```
#### Parameters
| Parameter | Type | Location | Required | Description |
|-----------|------|----------|----------|-------------|
| `location` | string | path | Yes | The unique identifier of the location |
| `x_pass_id` | string | path | Yes | The external pass ID recognized by your system |
#### Response
The response includes a `tab_pass` object with spend limit information:
```json
{
"tab_id": "12345",
"tab_uuid": "tab_abc123xyz",
"location_id": "67890",
"status": "OPEN",
"balance_due": 2500,
"tab_pass": {
"tab_pass_id": "98765",
"tab_pass_uuid": "tp_def456uvw",
"x_pass_id": "CARD-12345",
"customer_name": "John Doe",
"customer_phone": "+15551234567",
"privileges": ["VIP"],
"spend_limit": {
"amount": 5000,
"enforce": "post"
},
"spent": 3250
},
"orders": [],
"items": []
}
```
#### Key fields
- **`tab_pass.spend_limit`**: The configured spend limit (`null` if no limit is set)
- `amount`: Limit in cents
- `enforce`: Enforcement mode (`"pre"` or `"post"`)
- **`tab_pass.spent`**: Total amount spent on this pass in cents (sum of non-pending, non-voided orders)
#### Example: check remaining budget
```javascript
const response = await fetch('/api/v2/loc/my-location/tabs/passes/CARD-12345', {
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
});
const data = await response.json();
const {spend_limit, spent} = data.tab_pass;
if (spend_limit) {
const remaining = spend_limit.amount - spent;
console.log(`Remaining budget: $${(remaining / 100).toFixed(2)}`);
if (spend_limit.enforce === 'pre' && spent >= spend_limit.amount) {
console.log('This pass has reached its spending limit.');
}
}
```
---
### 2. Add items to tab by pass
Add items to a tab using the tab pass identifier. **This is the required endpoint for spend tracking.**
:::caution
You must use this endpoint (not the regular add items endpoint) for orders to be associated with the tab pass and counted toward the `spent` amount.
:::
#### Endpoint
```
POST /api/v2/loc/{location}/tabs/passes/{x_pass_id}/items
```
#### Parameters
| Parameter | Type | Location | Required | Description |
|-----------|------|----------|----------|-------------|
| `location` | string | path | Yes | The unique identifier of the location |
| `x_pass_id` | string | path | Yes | The external pass ID recognized by your system |
#### Request body
```json
{
"items": [
{
"productUuid": "prod_abc123",
"quantity": 2,
"modifiers": [
{
"productUuid": "mod_xyz789",
"quantity": 1
}
]
}
],
"spotUuid": "spot_def456",
"orderDetails": {
"phoneNumber": "+15551234567",
"callNumber": "42"
},
"customerId": "customer_123",
"employeeId": "employee_456",
"name": "John Doe"
}
```
#### Request body fields
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `items` | array | Yes | Array of items to add to the tab |
| `items[].productUuid` | string | Yes | UUID of the product |
| `items[].quantity` | integer | Yes | Quantity of the item |
| `items[].modifiers` | array | No | Array of modifier objects |
| `spotUuid` | string | Yes | UUID of the spot/location where the order is placed |
| `orderDetails` | object | No | Additional order information |
| `orderDetails.phoneNumber` | string | No | Customer phone number |
| `orderDetails.callNumber` | string | No | Call number for order pickup |
| `customerId` | string | No | GoTab customer ID (if known) |
| `employeeId` | string | No | Employee/server ID processing the order |
| `name` | string | No | Customer name (defaults to `Customer`) |
#### Response
```json
{
"items": [],
"orders": [],
"tabUuid": "tab_abc123xyz"
}
```
#### Spend limit enforcement
If the order would violate the spend limit, the API returns a `400` error:
```json
{
"alerts": [
{
"type": "danger",
"message": "This pass has reached its spend limit.",
"timeout": 4000
}
]
}
```
Enforcement behavior:
- **`pre` mode**: Order is blocked if `spent + order_total > limit`
- **`post` mode**: Order is blocked if `spent >= limit` (the previous order already reached the limit)
#### Example: add items with error handling
```javascript
async function addItemsToPass(xPassId, items) {
try {
const response = await fetch(`/api/v2/loc/my-location/tabs/passes/${xPassId}/items`, {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
items: items,
spotUuid: 'spot_abc123',
orderDetails: {
phoneNumber: '+15551234567'
}
})
});
if (!response.ok) {
const error = await response.json();
if (error.alerts?.[0]?.message?.includes('spend limit')) {
console.error('Spend limit reached for this pass');
// Handle spend limit error
}
throw new Error(error.alerts?.[0]?.message || 'Failed to add items');
}
return await response.json();
} catch (error) {
console.error('Error adding items:', error);
throw error;
}
}
```
---
# Testing with Postman
URL: https://docs.gotab.io/guides/testing-with-postman/
Description: Use the GoTab Postman collection to explore and test the REST API without writing code.
GoTab publishes a public Postman collection as a convenience for developers who prefer testing the REST API interactively. The collection is optional — it isn't required for integration work.
## Prerequisites
Before getting started, make sure you have:
- Completed the [Quick Start](/getting-started/quick-start/) guide
- Obtained your **Client ID** and **Client Secret** from the [Integration Dashboard](https://gotab.io/manager/integrations)
## Fork the collection
Click the **Run in Postman** button below to fork the GoTab Integration Workspace collection into your own Postman environment. Forking creates an independent copy you can modify freely without affecting the original.
[](https://god.gw.postman.com/run-collection/53462606-eb1e0c86-052b-48d7-9701-3224b2b2bb90)
## Configure your credentials
1. Open the forked collection in Postman.
2. Navigate to the **Variables** tab.
3. Enter your **Client ID** in the `client_id` field.
4. Enter your **Client Secret** in the `client_secret` field.
## Make requests
Once your credentials are saved, the collection handles authentication automatically. A pre-built script fetches and persists your access token so you don't need to manage it manually.
You can start making API requests immediately after saving your credentials.
## Next steps
- [Authentication](/getting-started/authentication/) — how the Client Credentials flow works under the hood
- REST API Reference — full endpoint reference
- [Webhooks](/concepts/webhooks/) — configure event notifications for your integration
---
# Operator Help Center
URL: https://docs.gotab.io/operator/
Description: Guides, how-tos, and training for GoTab operators and staff.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
The GoTab Operator Help Center covers everything you need to run your location — from initial setup and menu building to daily POS operations, reporting, payments, and integrations with third-party tools.
## Browse by Section
## Quick Links
Popular articles across all sections:
- [Introduction to GoTab](/operator/getting-started/getting-started-introduction/) — Overview of the platform and how everything fits together
- [How to Manage Your Product Catalog](/operator/menu-management/how-to-manage-your-product-catalog/) — Add, edit, and organize products
- [How to 86 or Disable an Item](/operator/menu-management/how-to-86-or-disable-an-item/) — Temporarily remove items from your menu
- [Starting a Dine-In Order](/operator/pos/creatingadineinorder/) — Walk through a full dine-in order on the POS
- [How to Process a Refund](/operator/managing-your-tabs/how-to-process-a-refund-article/) — Issue full or partial refunds from a closed tab
- [How to Create a Discount](/operator/cart-rules-segments-loyalty-memberships/how-to-create-a-discount-1/) — Set up percentage or flat-rate discounts
- [How to Access Your QR Codes](/operator/menu-management/how-to-access-your-qr-codes/) — Download and print QR codes for your zones
---
# AI & Analytics
URL: https://docs.gotab.io/operator/ai-analytics/
Description: Ask questions about your own data with Lovey and GoTab Data Hub, and build reports you can save and reuse.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Lovey and GoTab Data Hub let you ask questions about your location's data in plain language — and turn the answers into reports you can save, share, and rerun.
---
# Getting the most out of Lovey and GoTab Data Hub
URL: https://docs.gotab.io/operator/ai-analytics/lovey-datahub-best-practices/
Description: A practical guide to asking better questions, building your own reports, and finding insights in your GoTab data — whether you use Lovey, Data Hub, or both together.
Think of Lovey and GoTab Data Hub as two doors into the same room.
**Lovey** is the conversational door — it lives in your GoChat support window and answers questions in plain language, whether that's a setup question or a business question. **GoTab Data Hub** is the direct door — a self-serve dashboard at [datahub.gotab.io](https://datahub.gotab.io) where you can build, save, and reuse your own reports without asking anyone anything.
Both only ever show you data for the location(s) you're authorized to see, and both are strictly read-only: they can tell you what's happening and point you to where to make a change, but neither one can make a change in your account for you. All actual changes still happen in the Manager Dashboard.
Every query — whether you typed it to Lovey or built it yourself in Data Hub — lands in the same place. Ask Lovey a question, then click through to refine it further in Data Hub. Or start in Data Hub and never touch Lovey at all. Neither path is more "correct."
---
## Using Lovey in chat
Lovey is the fastest path to an answer — just ask, the way you'd ask a coworker.
1. **Ask a setup or "how do I" question**
Open GoChat from your Manager Dashboard and type your question in plain language. Lovey (labeled "Lovey (GoTab AI)" in the chat) will reply with numbered steps and, when available, the exact navigation path to follow.

2. **Ask a business question about your own data**
Ask something like "show me the last five beers sold" and Lovey will query your location's data directly and reply with the answer — often down to the exact timestamp and dollar amount. Click **View the query** to open the same result in Data Hub for the full table or chart.

3. **Pick up where you left off**
Every conversation with Lovey is saved automatically, whether it's marked Resolved or still Open. You can come back days later and find exactly what you asked and what it told you — no need to re-ask the same question twice.

Say *"I need to speak to a human"* at any point and a live GoTab support agent will step into the same conversation. You never have to start over on another channel.
---
## Using GoTab Data Hub directly
Use Data Hub when you'd rather build the report yourself, or need something Lovey hasn't answered quite right yet.
1. **Go to datahub.gotab.io**
Log in using SMS verification, sent to the phone number associated with your GoTab user profile. You'll only ever see data for the location(s) you have access to — if you manage multiple locations, you can query them together or one at a time.
2. **Describe what you want, or start from a template**
Click **+ New** and describe your question in plain English in the box at the top — the same way you'd ask Lovey. If you're not sure where to start, click one of the ready-made templates: *Net sales by location, Burger sales by day, Top 10 menu items by revenue, Net sales by day as a trend, Tips by server,* or *Orders per hour of day.* These templates are updated over time based on the questions operators ask most.

3. **Set your location(s) and date range**
Leave the location field blank to include every location you have access to, or use the tag picker to select specific ones — useful if you manage several concepts and only want to compare a few of them at once. Set your date range with the fiscal-day picker rather than typing dates by hand.
4. **Review, refine, and switch views**
Results appear as a table by default — toggle to **Chart** for a visual, and use the row count and run time shown above the results (e.g., "77 rows · 549 ms") to sanity-check what came back. If the answer isn't quite what you wanted, edit the description at the top and click **Update results** rather than starting a new query from scratch.
5. **Export or share your results**
Click **Export** for several options: copy as TSV, download a CSV, open directly in Google Sheets, link to Google Sheets for a live export that updates when you rerun the query, or copy a shareable link.

6. **Save it so you never have to rebuild it**
Click **Save As** and give your query a clear name. It'll show up under the **Saved** tab so you (or anyone else with access) can rerun it anytime — just update the date range and go.

7. **Find everything later**
The **Recent**, **Saved**, and **Linked** tabs on the left keep a running history of every query you've run, saved, or connected to a Google Sheet — including ones Lovey ran on your behalf.

---
## Using them together
The two work best as a pair. Here's a simple pattern that gets the most out of both:
| Step | What to do |
|------|------------|
| 1 | Ask Lovey a quick question in GoChat when you want a fast answer without leaving your conversation |
| 2 | Click "View the query" to jump into the same result inside Data Hub |
| 3 | Refine it — adjust the date range, add a location, switch to a chart — right there in Data Hub |
| 4 | Save it, and it's ready to reuse next week without asking Lovey (or building it) again |
Below is a concrete example of that pattern in action — the same question, answered by Lovey, and the same result opened directly in Data Hub.
Asking Lovey: "which court has been played on the most in the last 7 days?"

The same question, built and run directly in Data Hub:

---
## Suggested use cases
A few ideas to get you started, organized by the kind of business you run. Try asking Lovey these directly, or build them as saved queries in Data Hub.
### Restaurant
- **Daypart performance check** — *"How did lunch sales compare to last Tuesday?"* Catch a slow shift early instead of noticing it in a monthly report three weeks later.
- **Server sales comparison** — *"Between our three servers today, who sold the most chicken tenders?"* A quick, informal way to spot upselling wins worth recognizing at a shift meeting.
### Brewery and taproom
- **Tap performance tracking** — *"Show me the last five beers sold"* or *"Top 10 menu items by revenue this month."* Know which taps are earning their handle space before your next keg order.
### Food hall
- **Cross-vendor comparison** — *"Net sales by location, highest first, for this week."* Compare stall-by-stall performance in one query instead of pulling each vendor's numbers separately.
### Eatertainment
- **Space and court utilization** — *"Which court has been played on the most over the last 7 days?"* For golf simulators, pickleball courts, batting cages, or pool tables — see which bays are earning their square footage and which are sitting empty.
### Multi-location group
- **Regional rollups** — Select several specific locations in the tag picker, then ask *"Net sales by day as a trend."* Build one saved query that a regional manager reruns every Monday instead of stitching together several single-location reports.
### Hotel and resort F&B
- **Outlet-by-outlet snapshot** — *"Compare net sales across all of our outlets for the last 30 days."* See how the pool bar stacks up against the lobby cafe without logging into separate reports for each.
### Any concept
- **New team member training aid** — *"How do I comp a check?"* or *"How do I mark an item unavailable?"* Let a new hire ask Lovey directly instead of pulling a manager away from the floor for basic setup questions.
---
## Best practices and good habits
- **Be specific about timeframes.** "How many beers sold today" is answered literally — if you mean "recently," say "in the last 7 days" or "before today" instead of relying on Lovey to guess your intent.
- **Narrowing a description doesn't always narrow the results.** If you ask for "only the top 5" and still get a longer list back, use the Limit field in Data Hub or refine your wording rather than assuming something's broken.
- **Save anything you'll ask again.** If you notice yourself asking the same kind of question weekly, save it as a named query in Data Hub instead of re-typing it each time.
- **Use the tag picker for comparisons.** If you run more than one location, select the specific ones you want to compare rather than leaving it blank and sorting through every location afterward.
- **Link to Google Sheets for anything you check often.** A linked query stays current every time you reopen the sheet, without re-exporting a CSV each time.
- **Say "I need to speak to a human" without hesitation.** Lovey is meant to be a first stop, not a replacement for support when something needs a person's judgment.
---
## Keep in mind
**Both tools are read-only.** Neither Lovey nor Data Hub can change a setting, process a refund, or take any action in your account. They can tell you exactly where to go to make a change — you make it in the Manager Dashboard.
**If it's data your location collects, you can query it.** Orders, tabs, tips, menu items, servers, dayparts, court and space usage — if it lives in GoTab for a location you have access to, it's fair game to ask about. Don't hold back: put Data Hub through its paces and see what it can tell you about your own business. As a rule of thumb, the more specific your written query — the exact metric, the date range, the location, how you want it grouped or sorted — the sharper and more useful the answer will be.
**Both are in beta.** You may notice occasional rough edges — an odd result, a link that doesn't land quite right, or a query that needs rewording. Both tools are actively improving, and every question you ask helps make that happen.
---
# Cart Rules & Loyalty
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/
Description: Discounts, coupons, loyalty programs, memberships, fees, and customer segments.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Set up discounts, loyalty programs, memberships, and customer segmentation to reward your guests and drive repeat business.
## Discounts & Coupons
## Loyalty & Memberships
## Segments & Customers
---
# Discounts Introduction
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-do-you-set-up-a-discount/
Description: Discounts automatically appear at the end of the ordering flow upon check-out.
- Give all guests access to a discount (click here)
- Give a select group of repeat customers access to a discount each time they stop by (i.e., teachers, owners, employees, health-workers) (click here)
Discounts automatically appear at the end of the ordering flow upon check-out

---
# How to Add and Remove Customers from Discount Groups
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-add-and-remove-customers-from-discount-groups/
Description: Learn how to add and remove customers from unrestricted and restricted discount segments in GoTab.
***Unrestricted Segment***
Any user who scans the segment QR or is sent the segment link can join
1. To add users:
Click on Links & QRs and scroll to the bottom
2. Either print the QR for customers to scan or click the blue copy button next to the segment and embed the link in an email or send via sms

To remove users, follow the steps below

***Restricted Segment***
Add a layer of security - only users whose numbers have been associated with the segment will be able to join the group
1. To add users to the group, enter their phone number
2. To remove users, follow the steps below

---
# Discounts: How to Add Discounts on Your POS
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-apply-discounts-on-your-pos/
Description: Add an open or segmented discount.
1. Start an order for dine-in or takeout
2. Choose the guest's spot
3. Add products to the guest's cart
4. Click Discounts & Fees

Add an open or segmented discount.

---
# How to create a coupon
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-create-a-coupon/
Description: Utilize coupons to give to guests for promotional offers, limited-time products, and for being loyal customers.
## Utilize coupons to give to guests for promotional offers, limited-time products, and for being loyal customers!
Giving a customer a coupon with GoTab is easy. Once the coupon is created, the guest can redeem the discount by accessing a newly generated URL by scanning a QR or clicking on a link via SMS or email.
Please note that coupons are only redeemable from guest ordering/QR ordering. Coupons are not redeemable directly at a POS. A coupon lives in a guest's GoTab [customer account](http://gotab.io/cust/account) and any applicable coupon(s) automatically apply at checkout.

**Coupon****Configuration**
Navigate to [Cart Rules](https://manager.gotab.io/manager/displays?pick_loc=1) in the manager dashboard. Click the**+add new discount/coupon/fee **button, and select coupon.

1. Name the coupon internally [Earth Day Discount, Locals Only Discount, On the House Discount, etc.]
2. Name the coupon externally [guest-facing]
3. Hit Tab [in all cases you will want to select tab]
4. Set the discount on the entire order or a specific product
- If you are configuring a discount on a particular product, type in the name of the discounted product
- Select the quantity you wish to discount
5. Set the percentage amount or dollar amount
6. Dependent upon whether you are setting up a BOGO choose yes or no accordingly [yes, if applicable]
7. Choose to set a minimum subtotal in order for the coupon to take effect [if applicable]
8. Choose to set a maximum discount value [if applicable]
9. Hit yes, if configuring a BOGO, in all other cases hit no
10. Choose to set a redemption limit, this will limit how many times the guest can receive the discount per check [For example, if the redemption limit is 2, the guest has the opportunity to receive the discount on two separate transactions.]
11. Choose to set a cap [This is especially useful when the discount is percentage-based]
12. Choose to have a delay to when the customer can redeem it
13. Choose to set a time frame that forces the guest to use the discount within a specified range once the guest redeems the coupon [Note once the discount is created, you may also set a time range using the clock icon.]
14. Choose whether you wish to allow the guest to stack rules [note if you have a fee set-up you will want to hit yes and you can manage your other rules by setting them on a schedule or toggling them off]
15. Limit your coupon to specific zones [You may want to do special dine-in promotions or takeout-specific discounts]
16. Answer "No" [this question is not applicable]
17. Hit Create
**Access Coupons**
1. Navigate to Links & QRs in your manager dashboard
2. Scroll down to Coupons
3. Either send the intended group an email with an embedded link, send the coupon link via SMS, or print the coupon QR that guests can scan to claim the coupon.

If you need additional help setting up your coupon, contact GoTab Support or your designated Account Manager.
Click [here](/operator/menu-management/how-to-add-a-notice-on-your-menu-site/) to learn how to embed your coupon into a notice.
---
# Discounts: How to Create a Discount
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-create-a-discount-1/
Description: Create a discount for all guests to redeem each time they place an order.
## Create a discount for all guests to redeem each time they place an order.
- Navigate to your Cart Rules page
- Hit the + to create a discount

- Select Custom Discount under template selection
- Step 1 of 12: Name the discount for internal use
- Step 2 of 12: Name the discount for external use (this is what the customer will see in their cart)
- Choose if the discount is "Autograt exempt" or "tip exempt"
- Autograt exempt: Ensures autograt (created in location settings > service fees) is based on the total before discounts.
- Tip exempt: Ensures tip percentages (tip scale set in zones) is based on the total before discounts.
- Step 3 of 12: Choose whether you want the discount to apply to the tab (all orders within a tab) or order (each time a new set of products are ordered by the guest or sent on the POS on the tab)
- Step 4 of 12: Choose if the discount affects a specific product
If the discount affects a specific product(s), add a tag for the product then be sure to tag the product(s) afterwards.
- If the discount affects multiple products, add the same tag to all
Select Create
After creating your discount, you can adjust the time the discount is applied, which can be a great way to set up specific happy hour deals. You can also choose a start and end date for your discount if you'd like it to only be offered for a limited time. **
***Discount** Entire Order***
- Step 1 & 2: Name the discount (Snow Day Discount, Spring Time Promo, Fourth of July Promo, Flash Sale, On the House Discount, Takeout Discount)
- Step 3: Click "Tab"
- Step 4: Click "No"
- Step 5: Set % or $ amount
- Step 6: Click "No"
- Step 7: You may choose to set a minimum
- Step 8: If the discount is % based, you may choose to set a maximum discount value
- Step 9: Click "No"
- Step 10: You may choose if this discount can be combined with other discounts
- Step 11: You may choose to limit the discount to specific zones
- Step 12: You may choose to limit the discount to specific segments
Refresh the page, toggle on the rule, and TEST!
***Discount a Specific Product***
- Step 1 & 2: Name the discount (Flight Discount, Chocolate Discount, Wine Discount, etc.)
- Step 3: Click "Tab" or "Order" (order should be used if you'd like to limit the amount of times the discount can be applied to one tab - see step 9)
- Step 4: Click "Yes," type in or select the tag associated with the product(s) and set the discount quantity to unlimited (only set a quantity to limit the number of products discounted on one Tab, or in the case of a BOGO deal where you buy 1 burger and get 2 fries, for example)
- Step 5: Set % or $ amount
- Step 6: Click "No" (only used for BOGO deals)
- Step 7: You may choose to set a minimum
- Step 8: If the discount is % based, you may choose to set a maximum discount value
- Step 9: You may choose to limit how many times the customer can apply the discount (only set if you choose a specific quantity in step 4). Note: do not set a maximum discount value (step 8) and set this limit
- Step 10: You may choose if this discount can be combined with other discounts
- Step 11: You may choose to limit the "Discount" to specific zones
- Step 12: You may choose to limit the discount to specific segments
Refresh the page and **toggle on** the rule
- Lastly, in the product catalog, click on the specific product, and add the same tag used in the order rule - move the product to the top of the menu to highlight it
TEST


[^1]: Step 5 of 12:** Choose the discount amount in % or $
[^2]: Step 6 of 12:**Choose if the discount requires a specific product to take effect (think BOGO deals where you must purchase something in order to get a discount on something else. If this is just a regular discount and not a BOGO, select no)
[^3]: Step 7 of 12: **Choose if guests must meet a Minimum Subtotal for this discount to take effect
[^4]: Step 8 of 12:**Choose if there is a Maximum Discount Value
[^5]: Step 9 of 12:** Limit the number of times this discount can be applied (note: limits will only work on discounts set for the Order, not the Tab - see step 3)
[^6]: Step 10 of 12:** Decide if the discount can be combined with other order rules (if not, be mindful of the discount ranking*)
[^7]: Step 11 of 12:** Choose if it is limited to a specific zone (this can be used to allow tabs from certain zones to get the discount while all others will not - think patio discounts vs. dine-in or bar vs. table)
[^8]: Step 12 of 12:** Choose if it requires a customer segment (segments need to be created first in order to attach it to a discount and can be used to grant certain guests discounts automatically or allow staff to manually add certain discounts. See [here](/operator/cart-rules-segments-loyalty-memberships/segments/) for more information on segments and their different use cases.)
[^9]: Note: New cart rules are defaulted to OFF to allow time to read/review the order rule. Toggle on if immediately ready to utilize your new cart rule.***
[^10]: Note: **If a discount does not have a Zone or Segment selected in steps 11 or 12, the discount will automatically apply any time the other criteria are met (specific product ordered on a tab, minimum requirements, etc.).
[^11]: Note: Our discounts apply based on their ranking. To update a discounts ranking, click the 1>9 option on the top right of your screen and update the ranking.
---
# How To Create a Fee
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-create-a-fee/
Description: In this article we will cover how to create a fee within the same rules engine as discounts & coupons.
## In this article we will cover how to create a fee within the same rules engine as discounts & coupons.
:::note
Cart rule fees **may not** be used as a method of surcharging guests for credit card fees. This is against the law. If you'd like to know more about credit card surcharging, please read this [article](/operator/product-spotlight/credit-surcharging/) and reach out to your dedicated GoTab account manager to setup credit card surcharging.
:::
**Tagging & Segments Before Creating Fee**
If our fee is applicable to only certain products, then we first would want to navigate to the [Product Catalog](https://manager.gotab.io/manager/displays?pick_loc=1) in the manager dashboard and tag corresponding products with a tag.

If the fee isn't for just specific products and maybe it's a fee only for a Takeout Zone, we don't necessarily need to tag the products as shown above. If limiting to specific zones, no tag is needed on the product.
If this is a fee we want a server to manually apply, we also need to create a segment. Adding a segment to any cart rule ensures that a guest in QR flow needs to be part of that segment for the rule to apply, as well as in the POS a server would manually have to apply that cart rule. If you would like this fee to automatically apply on the POS and QR ordering without a server having to do anything, no segment would be needed.

**Create a Fee**
Navigate to the [Cart Rules Page](https://manager.gotab.io/manager/displays?pick_loc=1) in your manager dashboard.

- Steps 1 and 2 are simply naming the fee in how it's displayed internally and externally for guests.
- Step 3 is most likely going to be setting the fee to apply to the entire tab.
- Step 4 is YES if our fee is applying to specific product(s)and no if it's a fee that may just apply to a certain zone or has no limitations at all.
- Step 5 is where we set either a % or specific $ amount for our fee.
- Step 6 is if a certain product needs to trigger the fee to occur. If we want the fee to take place on an entire tab but only when a specific product is ordered, we would say yes and use tag made previously. Generally a NO for fees here.
- Step 7 is simply if we want the fee to only occur once a certain subtotal is met.
- Step 8 limits the number of times on a tab/order the fee can apply.
- Step 9 determines if other rules can apply while this rule is on. If NO here, then any other discounts/coupons that are higher in the list of your cart rules will prevent this fee from being applied. For fees, generally want YES.
- Step 10 is how we can limit by zones. If it's a Takeout Fee, we can say yes and choose our Takeout Zone(s) that the fee applies in.
- Step 11 is whether this fee is limited to any segments. As previously mentioned, if we don't want this automatically applying in QR/POS orders, then we need a segment created and limit this fee to that segment.
Create and toggle on your fee. We default to any cart rule as toggled off, so be sure to toggle this on.

Fees automatically appear at the end of the ordering flow upon check-out. Below how our CRV Fee would appear to a guest at checkout.

---
# How to Create a Secret Menu
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-create-a-secret-menu/
Description: Secret Menus will allow you to showcase a special menu for a segmented group of people.
## Secret Menus will allow you to showcase a special menu for a segmented group of people.
To set up a secret menu, navigate to the segments page > **+add segment** > Write in a segment name, then add a secret password.

You can leave it as an unrestricted segment to let anyone who knows the password view and order from the menu, or restrict it to certain phone numbers.
You will then navigate to the menus page.
Select the menu you are using > Segments

You will then select the segment that can view the menu.

Once you are ordering, you will see this at the bottom of the menus screen on the QR ordering flow:

Then, input the secret password!

It is recommended that you always contact your account manager or reach out to GoTab chat support after configuring a secret menu to ensure it is working correctly.
[^1]: Note: Secret Menus is only available in menus view. You cannot use this feature using catalog browsing. *
---
# How To Create an Employee Discount
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-create-employee-discounts/
Description: Learn how to create an employee discount in GoTab using segments and order rules.
- Click "Segments"
- Add the segment

- Click "Order Rules" and hit the + to create a "Discount"
- Step 1 & 2: Name the discount after the group, "Employee Discount"
- Follow Steps: 3 - 10 if you are creating a discount for the entire order or a specific product (click here)
- Step 11: Click "Yes"
- Click on Links & QRs, scroll to the bottom and print out the QR, send the specific group a text with a copy of the link (hit the blue copy link), or email the group an embedded link
- For discounts on specific products, click on the product catalog to tag the item with "employeediscount"
- Feel free to create multiple employee discounts! Reach out to your account manager if you need assistance.
/operator/cart-rules-segments-loyalty-memberships/how-to-add-and-remove-customers-from-discount-groups/
Discounts automatically appear at the end of the ordering flow upon check-out
---
# How To Make a BOGO Discount
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-make-a-bogo-discount/
Description: Here we will cover how to make a buy one, get one discount.
## Here we will cover how to make a buy one, get one discount.
-The first step to setting up a BOGO discount is to navigate to your [Product Catalog](https://manager.gotab.io/manager/products?pick_loc=1) and assign a tag to the applicable product(s). If you want your BOGO to be for the same product (example: buy 1 burger, get 1 free), then you will use one tag. Alternatively, we can set our BOGO to apply to different products by applying different tags (example: buy 1 burger, get 1 beer free).

-**IF** you want your servers to manually apply BOGO discounts from the POS, rather than the discount just automatically applying, navigate to your [Segments](https://manager.gotab.io/manager/segments?pick_loc=1) page to first create a basic segment like the example below. Skip this step if the rule is intended to broadly and automatically apply.

-Next, navigate to the [Cart Rules](https://manager.gotab.io/manager/rules?pick_loc=1) page to setup your BOGO Discount.
-Steps 1 and 2 are simply naming the rule in how it's displayed internally and externally for guests.
-Step 3 is most likely going to be setting the discount to apply to the entire tab.
-Step 4 is "YES" to the rule affecting a specific product. You will then apply the tag we created at the very beginning (bogospumoni in the example below). If your BOGO deal affects different products, this will be the tag for the product you wish to discount (or GET). We also want to set the quantity of items to 1. If it was Buy 1, Get 2, then we would set the quantity to 2. 
-Step 5 is where we set the discount at 100%.
-Step 6 "YES" to require certain products for the rule to take effect. This screen looks very similar to step 4 but in this step we again want to add the same tag as in step 4 and set the quantity to 1 in a same product BOGO deal. If your BOGO is buy 1 product, get a different product free, here you will add the tag for the product the guest must BUY.

-Steps 7-9 are most likely going to be "NO" but that depends on your operation.
-Step 10 also depends on whether you allow guests to stack discounts. If you have 20% off of beverages AND want to allow a guest to take advantage of BOGO Sushi, then you would want to say "YES" to allow this to be combined with other rules. If a guest is only allowed one type of discount on their tab, then we would set it to "NO".
-Steps 11 and 12 are most commonly "NO" for BOGO.
-Click "CREATE" and your order rule is created.
-This video demonstrates the setup of a BOGO discount. Please note that your BOGO rule may vary depending on any additional criteria you set when creating your BOGO discount.
::video{src="/videos/awesome_screenshot_8_7_2024_1_58_23_pm.mp4"}
-Below demonstrates how this BOGO discount automatically applies and appears in your POS.

[^1]: Note: New cart rules are defaulted to OFF to allow time to read/review the order rule. Toggle on if immediately ready to utilize your new cart rule.***
---
# How To Setup a Membership
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/how-to-setup-memberships/
Description: Utilize GoTab Memberships for one-time, or recurring, memberships for your clientele.
## Utilize GoTab Memberships for one-time, or recurring, memberships for your clientele.
In the example below, we're setting up a Mug Club Membership where members will receive 20% off of all Mug Club items with an active subscription charged a recurring $10 per month.
-In our setup here, since we have items that will be discounted with a membership, we first want tag the corresponding items in our product catalog. Here, we tagged both Fly Like An Eagle and EW, David! with our Mug Club tag.

-Navigate to the [Memberships Page](https://manager.gotab.io/manager/memberships?pick_loc=1) of your GoTab Manager Dashboard.
*-*Add Membership/Loyalty.******
-Configure the parameters of your membership.
- Program name is what you'd like to name the membership program. This, along with the description, will be visible to your guests in their GoTab account.
- Description is what your guests will see as the description in their GoTab account.
- Base Price is the price of the membership.
- The date range limits the timeframe wherein rewards are redeemable. It's likely that a date range would only be selected with a non-recurring membership.

Our Mug Club above is set at $10 per month.
-Set the Rewards for your program.

In our example here, our Mug Club is is set as a discount that offers 20% off of select products. The products are the ones tagged as mug club that we did initially when we tagged our products in the product catalog. We are not offering a limit on the number of discounted items, but if your membership said they could only get 15 items with the 20% discount, you could set that here.
-Review and Submit.

-We now have a configured membership.
- Pencil icon allows you to edit your membership.
- Book icon indicates the membership product that gets created in your product catalog.
- Division symbol takes you to the automatically generated Segment when creating a membership.
- Scales icon takes you to the automatically generated rule(s) associated to your membership.
-When first creating a Membership, there will be a red alert over your Membership product. Click that to take you to the Membership product in the product catalog.
-Set the membership product tax rate, station, revenue account and save.
-Once saved, your membership can now be enabled and your membership setup is complete.

Click [here](/operator/cart-rules-segments-loyalty-memberships/selling-a-membership-online-or-through-the-pos/) for more information on selling a membership online and from your POS.
Click [here](/operator/uncategorized/membership-loyalty-check-in-on-pos/) for more information on memberships in a guest's GoTab account and how a guest can check in at your location via your POS or CFD.
[^1]: Note: If you do not currently have GoTab Loyalty & Memberships on for your location, please contact your dedicated account manager for more information.***
---
# Segments: How to Manage Customers
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/segments-how-to-manage-customers/
Description: Learn how to upload customer phone numbers, add customers to unrestricted or restricted segments, and remove customers from a segment.
1. Press the upload option to upload a csv of phone numbers.

1. Under the Links & QRs dashboard, navigate to segments
2. Either send out the segment link via text message or embed the link in an email or print out the segment QR and store it in an easily accessible place in your establishment.
****
1. Under the Segments dashboard, navigate to the specified segment
2. Hit the people icon
3. Enter all customers' phone numbers into the system
4. Hit update

1. Under the Segments dashboard, navigate to the specified segment
2. Hit the people icon
3. Check the customer you wish to remove from the group
4. Hit remove selected

1. Press the upload option to upload a csv of phone numbers.

[^1]: Upload a list of customers' phones numbers**
[^2]: Add a Customer to an Unrestricted Segment**
[^3]: Add a Customer to a Restricted Segment**
[^4]: Remove a Customer from a Segment**
[^5]: Upload a list of customers' phones numbers**
---
# Segments
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/segments/
Description: Segments simply refer to a group of people. Examples of segments include employees, teachers, first responders, military, and locals. Once the segment is create
When the guest enrolls in a segment, they will receive a discount each time they order from the establishment. Guests can enroll in the group by scanning a QR or clicking a link associated with the group just navigate to Links & QRs. From the Segments dashboard, operators can control guest enrollment.
**Control your Segments**
There are two types of segments you can create depending on how much security you'd like to assign to the group. An unrestricted segment generates a QR and link, which can be scannable by anyone who has access to the link or QR. A restricted segment generates a QR and link as well, however, you must input guest phone numbers in order for them to enroll in the group and gain entry to associated discounts. You should use restricted segments when offering a specific group of people a large discount. For example, you may give owners a 100 percent discount. If the QR or link ended up in the wrong hands, a random person may attempt to scan into the group, however, if restricted their access would be denied since their phone number wasn't inputted into the system.
**How to Create Segments**
1. In GoTab's back end, navigate to Segments.
2. Click the +add segment button at the bottom.
3. Input the segment name and to create an unrestricted segment hit create.
4. If you wish to create a restricted segment, click the checkbox next to restrict segment and add a phone number to create the segment.
**Manage Enrollment**
Once users are enrolled, easily add and remove people by clicking the people icon. Use the check box to remove guests from specified groups. To add people to a **restricted segment**, you must input their phone numbers.
**Unrestricted Segment**

**Restricted Segment**

[^1]: Segments**simply refer to a group of people. Examples of segments include employees, teachers, first responders, military, and locals. Once the segment is created under rules, discounts can be associated with the segment. You can use segments to manage discounts for different groups manually or you can have your guests enroll in the segments so that discounts will be applied automatically when those guests are ordering.
---
# Selling a membership through the POS or online
URL: https://docs.gotab.io/operator/cart-rules-segments-loyalty-memberships/selling-a-membership-online-or-through-the-pos/
Description: Learn how to sell a GoTab membership through the POS or online, including enrolling customers and setting up a membership menu.
1. Locate the Loyalty Program Button: From the POS, find the product corresponding to your loyalty program.
2. Add to the Tab: Add the loyalty program product to the customer's tab. Even if it's a free program, it must be added to enroll the customer.
3. Process the Customer's Order: Ring in the customer's regular order as normal. This does not need to be a separate transaction.
4. Initiate Rewards Check-in:
On the POS without a customer-facing display (CFD), the server will click on "Rewards Check-in" at the top of the tab.
5. On the POS with a CFD, the customer will click on the "Rewards Check-in" button
Confirm Enrollment**:**The POS will send a confirmation text or notification. Ensure the customer confirms. If you have quick check-in* enabled, the customer will not receive a text and will be automatically enrolled as soon as the tab is closed.
**Selling A Membership Online**
First, you'll need to set up a menu with your memberships. From the manager dashboard, ensure that your membership category is attached to the appropriate menu. You can set up a separate menu for memberships or simply add it to an existing one, like merchandise. For help setting up menus, check out this article: [How To Create A Menu](/operator/menu-management/menu-creation/)
To share the menu link directly with your customers, simply navigate to your Links & QRs page in the Manager Dashboard and copy the applicable Menu link and share. 
Once your customers have access to the menu with your memberships, they will be able to purchase one online the same as they would any regular product.
[^1]: Selling A Membership from the POS**
[^2]: Enter Contact Information:**The customer/server can either enter their phone number or have the guest scan a QR code with their phone. Both methods will add them to the program if they are not already enrolled.
[^3]: Close the Tab: **To fully update the customer's account, close the tab by processing payment (if the membership/loyalty program is free, simply close the tab).
[^4]: Close the Tab:**To fully update the customer's account, close the tab by processing payment (if the membership/loyalty program is free, simply close the tab).
[^5]: To enable quick check-in at your location, from the manager dashboard go to Location Settings > Edit > Display Settings > ensure Quick Check-In is toggled ON 
---
# Getting Started
URL: https://docs.gotab.io/operator/getting-started/
Description: Initial setup for your GoTab location — menus, zones, tabs, schedules, and adding staff.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Everything you need to get your GoTab location up and running — from understanding the platform to configuring your first menu and adding your team.
## Platform Overview
## Setup Steps
## Daily Operations
---
# Users
URL: https://docs.gotab.io/operator/getting-started/adding-users-and-creating-a-pin/
Description: Learn how to add staff users to GoTab, assign PINs, edit permissions, and set up user roles for POS and manager dashboard access.
## Adding a New User, Creating a PIN, Editing User Permissions, Assigning Clock In Role
You can allow your staff to access the GoTab manager dashboard and determine which elements of the GoTab platform each individual should have access to.
By restricting who has access to the GoTab Manager dashboard, you can ensure that your system is secure and only essential employees have the correct permission to make changes to the platform. Use users to give your servers access to our labor and POS features.
---
Adding a new user and assigning users a personal PIN number is extremely simple. Follow these simple steps to get your staff up and running in no time:
1. Navigate to the [Users Page](https://manager.gotab.io/manager/users?pick_loc=1) in the manager dashboard.
2. Select "Add New User"


We default to a restricted user. These users do not have manager dashboard access and do not require entry of a cell number to create and verify their GoTab user.* *
3. Enter First/Last Name and Personal Cell (if manager user) of the person you want to have access to GoTab. Then check the boxes next to the permissions you want that person to have. The main relevant permissions are listed below. You can and should give users more than one permission. For example, a location admin should have both Manage & Control and be added as a managerial user.
4. Click confirm. If the new user is a manager they will be able to access GoTab by going to [gotab.com/manager ](http://gotab.com/manager?__hstc=156895588.a9d78702a0f9fec55fed9a1d72803264.1729690264905.1742160680804.1742163884678.192&__hssc=156895588.4.1742163884678&__hsfp=2850574025)and verifying with their name and cell phone (entered exactly as you entered them into the system).
Once a user is in the system and verified, you will see the green checkmark by their name. Then you can always go back and change their access level and add/remove permissions by clicking the pencil icon.

After clicking the pencil icon, there are a few key functions you can do with a user.
- Add permission + remove permission
- Attach New User Role: This is a must if you are using our labor function
- Assign a PIN number
A PIN number must be assigned to all users. Please note that PIN numbers are one-way encrypted. GoTab does not have access to them so if a PIN is forgotten, a new PIN must be reassigned.

To create a new user role, click "user roles" on the top right corner of the users page.

You can then add a new role and wage associated to the role.

If you need to change the wage for a specific user you can do so on their user:

[^1]: Note: To add a user as a manager, you will select Manager at the top of this box.*
[^2]: Manage**: Basic manager permission. Allows user to refund, update menu, see financials, add display systems, and more.
[^3]: Control**: Highest permission. Should be given to primary manager and other admins.
[^4]: Server**: Lowest permission. Required to pin into the POS and allows a staff member to take orders.
---
# How to receive a new activation code
URL: https://docs.gotab.io/operator/getting-started/displays-how-to-receive-an-activation-code-1/
Description: If your device is asking for a 6 digit activation code, you can quickly grab one from your GoTab Manager Dashboard.
If your device is asking for a 6 digit activation code, you can quickly grab one from your GoTab Manager Dashboard.
- Navigate to the "Displays" page on the Manager Dashboard.
- Then, find the device you need an activation code for and press "reset code." This will give you the activation code for that device.Note: An activation code is valid for 15 minutes. If you miss the 15 minute window, simply press "Reset Code" again for a fresh activation code.

Activating a point of sale as a payment terminal provides you a QR code with an accompanying 4 digit activation code. [Click here](/operator/pos/activate-gotab-pos-app-payment-terminal/) for an article on activating the GoTab POS app on your POS as a payment terminal.
---
# How to manage your Product Catalog
URL: https://docs.gotab.io/operator/getting-started/getting-started-1/
Description: Managing your menu in GoTab is two-fold. First, create your menu category (Appetizers, Entrées, Beers, Cocktails, Etc.). Second, create products in that categor
::video{src="https://player.vimeo.com/video/795042405?h=8385e355ec&badge=0&autopause=0&player_id=0&app_id=58479"}
Managing your menu in GoTab is two-fold. **First**, create your menu category (Appetizers, Entrées, Beers, Cocktails, Etc.).**Second**, create products in that category (Burgers, Fries, IPA, Etc.) Then, customize your products by adding modifiers!
---


---
Once you have created a category, simply press**+ ADD PRODUCT **to create a product.


---
- Name: Name of your item
- Short Name: Shortened item name. This is what will display on your chits and KDS order cards
- Base Price: The base price of this item
- Display Price: This will override your base price. This is meant to add free text such as "Price Varies" (in case this item has modifiers)
- Description: A description of this item. Great place to add allergy indicators such as GF
- Category: Category that this item lives in
- Max Order Qty: How many orders of this item can the guest place
- Tax Rate: The tax rate of this item
- Prep Time: This will display to the guest how long it will take to prepare this item
- Show Prep Time On Menu: Show customers how long the prep time is for this item.
- Revenue Account: Choose what revenue stream you want to associate this item with (i.e. Food, Alcohol, Merch, Etc.). Click the cogwheel to add a new revenue stream
- Stations: Where this item order will get printed to and sent to a station KDS (This is required)
- Status: This will enable the item on the menu
- POS color picker: Choose a color to identify this item on the POS.
---
### Manage Modifiers
Press the three-lined icon on the product.

**Name:** Name of the modifier
---
### Bulk Edit Products within Category
Bulk Product Editing allows you to edit all products within a category without having to edit each product individually. This is great when needing to make changes to revenue accounts, stations, or tax rates!
Choose the category you would like to bulk edit.
- Press the second icon from the left, named "bulk edit products within category"

A panel will then populate where you can edit the settings on all of the products in that category.

**Icon/Button Key**
Edit product details. This where on the product level you can edit the price, description, tax rates, account reporting etc.
Add a schedule. Note that when your location is in menu view, adding a schedule to a product is disabled. Scheduling then should be handled at the menu level, rather than item level.
Add/edit image.
Add/edit modifiers.
Duplicate product.
Add/edit stock levels.
Audit log showing updates/edits from previous 7 days.
Archive.
[^1]: Short Name:** This will display on the chit and KDS order cards
[^2]: Description:** Description of the modifier for the guest
[^3]: Open Text Mod:** A blank box for the guest to input any information about their order
[^4]: Add Product As Option:** Add an existing Product as an option (easily searchable)
[^5]: Price:**This amount will be added to the item's base price
[^6]: Add Option:** Click this to add more than one option
[^7]: Convert Back To Checkbox:** Allow the modifiers to be presented in a checkbox design
[^8]: Allow Multiple Selections:** Allow multiple selections of each modifier
[^9]: Require:** Require the customer to choose a modifier
[^10]: Note:**Please keep in mind, these changes will apply to **all**products within the category that you are bulk editing.*
---
# Creating a Menu
URL: https://docs.gotab.io/operator/getting-started/getting-started-creating-a-menu/
Description: Menus allow you to pull in your products and categories created within the product catalog into individual concise menus. Remember, all products must be created
## Menus allow you to pull in your products and categories created within the product catalog into individual concise menus. Remember, all products must be created and edited within the Product Catalog.
Navigate to your Manager Dashboard, then press Menus > **+ Create Menu**


- Name: Input the name of the menu
- Short Name: This will automatically appear on the POS (EX: The menus name is Draft Beers but you make the short name Draft for ease of navigation)
- Searchable: Hides this menu from any user selection. The menu may only be accessed by scanning a code or using a direct link. Searchable on allows guests to navigate to the menu from the landing page. Searchable off keeps your menu accessible only by scanning a QR or clicking on a direct link. In most cases, searchable should always be enabled on.
- Display Mode: This setting controls the menu layout. The various displays modes are pictured below.
- Menu Header and Menu Footer: Input announcements, hours of operations, and consumer warnings.
- Start and End Ordering Date: The ordering date is the time frame in which the guest can order from the menu. If not set, a guest can begin an order any time.
- Start and End Start Schedulable Date: The schedulable date is when the guest can pick-up their order.
Once you have finished filling out this information, click into the menu to finish the menu creating process.

- Calendar Icon: Schedule allowing you to adjust when the menu is available for guests to view and order from
- Image Icon: Attach Image to display an image for your menu on the landing page
- Funnel Icon: Filters and Tagging allows you to include or exclude items that are tagged in your product catalog.
Example: Create a tag called "Bottle Beer" and tag all of your beer bottles
- Arrow Icon: Opens Menu - this is a quick and easy way to access your menu for testing/viewing. Pro tip: Keep your menu with searchable set to "No" until you are done, and access from here.

- Menu: Allows you to edit all information already added.
- Categories: This is where we will add categories that we've created in our product catalog to our menus. Click +Add Category to add additional categories from your product catalog to your menu. If we've created a category in the product catalog and haven't added it to a menu yet, it will not show.

- Zones: The Zones header lets you choose where to have your menu available. The menu will adopt the settings of each zone that it is placed in.

- Segments allows you to have this menu be accessible to only a certain group of people.
- Access allows us to share a copy with partners and third party integrations as well as across locations, when applicable.
Once we've gone through and created our menu, be sure to double check that the menu is toggled on and ready for use.

---
# Introduction
URL: https://docs.gotab.io/operator/getting-started/getting-started-introduction/
Description: Use the following articles and videos to help you or your staff get familiar with GoTab.
## Use the following articles and videos to help you or your staff get familiar with GoTab.
We recommend managers go through our getting started training to help them understand the basics behind how GoTab operates. Our Getting Started training provides managers with basic GoTab knowledge to help you understand our platform.
---
Getting Started Trainings:
- How to create a zone and add a spot
- How to create a KDS or POS display
- How to get an activation code
- How to create a user + assign a pin
- How to manage your Product Catalog
- Creating a menu
- Location/Menu Schedule management
- Tab management
- Viewing payment information
- Viewing your sales page
---
# Managing your schedules
URL: https://docs.gotab.io/operator/getting-started/getting-started-managing-your-schedules/
Description: You can easily access and manage your schedules from your Manager Dashboard.
## You can easily access and manage your schedules from your Manager Dashboard.
There are quite a few places to manage your schedules throughout the manager dashboard.
You may see this icon floating throughout different places:

This will allow you to edit the schedule of specific categories, products, menus, zones, and more.
---
To look at an overview of your location, menu, and zone schedules navigate to your [Schedules](https://manager.gotab.io/manager/schedules-view?pick_loc=1)page in the Manager Dashboard.

To edit a schedule, click the schedule icon next to the zone or menu.

You can then add a new schedule, or edit the existing one by choosing the days and using the slider to edit the time.
To edit your locations schedule, navigate to Location settings > schedules

From here, you can add a schedule override which will invalidate any current schedule set to your location, menus or zones.
[^1]: Note: when in menus view, you cannot add a schedule to a product or category.*
[^2]: Note: Schedules can only be set in 30 minute increments.*
---
# Sales
URL: https://docs.gotab.io/operator/getting-started/getting-started-sales/
Description: The Sales dashboard allows you to analyze real time sales data and download reports.
## The Sales dashboard allows you to analyze real time sales data and download reports.
---
Navigate to the [Sales Page](https://manager.gotab.io/manager/sales?pick_loc=1) in your GoTab Manager Dashboard.


Click any information icon to reveal what numbers comprise each line.

Click into any line for additional information. You can often find CSVs here containing links to tabs where discounts, fees etc. were applied.
For example, below we click on our discounts line. We break out each discount and the amount discounted. At the top we can choose between discount *type* and *reason*. Click download CSV to view a report with links to tabs for each discount applied during the selected date range.

- Name--Payment Time--Payment Type--Order Placed--Placed Business Day--Order Placed Hour--Order Scheduled--Order Scheduled Hour--Spot--Zone--Tab Server--Order Server--Order Value00--Tip--Auto-gratuity
[^1]: Transaction Report **will provide you a CSV download of the following fields:
---
# Tabs
URL: https://docs.gotab.io/operator/getting-started/getting-started-tabs/
Description: The Tabs page will contain all of your tab information and is a page often used by managers.
## The Tabs page will contain all of your tab information and is a page often used by managers.
This dashboard gives you access to real-time individual payments. From the tabs dashboard, you can force close individual or all open tabs, issue refunds, text the guest directly, and reach out to GoTab support. In addition, using the search functionality and schedule you are able to track down individual payments to issue guest refunds weeks after the transaction.
---
- (Optional) You can then search for a specific tab or keep your search broad.
- (Optional) Filter tabs by placed or scheduled orders
- (Optional) Choose a specific user to filter through
Once you have a list of tabs to view, you can do a few things:
- Close all open tabs: This will close all open tabs and is typically used when you are closing for the day

- Refund (Top right corner of the tab)
Using the refund function you can also remove the existing payment and reopen the tab. Keep in mind this will keep the information of the initial card until another payment type is associated. This is to ensure payment can be collected at the end of the day.

- Re-open: Allows you to re-open closed tabs to add a tip or more items the next day. Once a tab is re-opened after the transaction day, it will show under "previously unpaid" in the POS.

- Text a customer: Pressing the drop down arrow on a tab and selecting the message icon, you are able to text a customer directly from your manager dashboard.

- Reassign: Allows you to transfer this tab to another server via the tabs page.
- Blue Receipt Icon: Shows you all tab details. From here you can press "view receipt" and the receipt will open in another tab. You can then email the receipt to a customer from there.


[^1]: To begin navigating the tabs page, choose a date range to view. **
---
# Viewing customer payment information
URL: https://docs.gotab.io/operator/getting-started/getting-started-viewing-customer-payment-information/
Description: The payments dashboard allows managers to view individual payments on a granular level on a specific date or within a certain time range.
## The payments dashboard allows managers to view individual payments on a granular level on a specific date or within a certain time range.
On the payments page, operators can use the filters at the top to comb through the data. The **all** filter shows all transactions, while the payments filter only displays successful payments. If the operator has questions regarding a refund, using the payments dashboard they can easily view who issued the refund and why. In addition, operators can view chargebacks, which GoTab disputes on their behalf. Lastly, accounts gives operators greater insight into account (house, gift card) transactions and liabilities, which are current balances.
---
To search for a specific payment, you can easily search the last four digits of the card that was used.

On the payment you can view the following information:
- Tab receipt
- Name
- Last 4 digits of the card
- Tender Type
- Payment Amount
- Processor
- Tip
In addition, you can download a csv file of your payments for a specific date range.
---
# Zones
URL: https://docs.gotab.io/operator/getting-started/getting-started-zones/
Description: Zones is where you will build out the different spots or sections in your restaurant. Think of zones as your different revenue centers.
## Zones is where you will build out the different spots or sections in your restaurant. Think of zones as your different revenue centers.
To create a zone press **+ add zone**

Fill out the New Zone info (definitions of each field are below the screenshot). This info will apply to all spots (table QR's) within the zone. Different rules for different spots will require a new zone.

- Name
- Minimum order subtotal: amount of purchases (in dollars) required to place an order.
- Tip Scale: Configure different tip scales per zone. You will also select the default tip here.
- Service Charge: Set autograt percentages in Location Settings: Fees and apply the percentages to individual zones.
- Open Tab Requirement: The information a location wants guests to input before they open a tab.
- Prompt Guest for Name on Scan: You can choose to set this to yes or no.
---

- Unavailability Message: A brief message should the guest try to place orders after hours.
- Order Notes Prompt: A text box that appears at the end of the guest ordering flow to account for any guest requests. The guest notes will appear on printed tickets and on the KDS.
- Order Prompts: Customized prompts that are either checkboxes or an open text field for the guest to write-in displayed on the payment screen.
- Allow Order Notes: Order notes is an open text-field for guests to write freely during checkout. The guest notes will appear on printed tickets and on the KDS.
- Batch Time (sec): Orders from the same spot within this time will display on one ticket on the KDS.
- Spot Delay Time (Min): Orders from the same spot placed within this time will fire and print one after the other, if enabled.

- Automatic Order Confirmation Text: This sends the guest an SMS message confirming their order.
- Automatic Order Fulfillment Text: Allows you to automatically text a guest once the order is marked as fulfilled on the KDS. (You must turn this on in the KDS settings as well)
- Show Tips Selector By Default: This setting controls whether the guest views the tip selector bar.
- Searchable: Hides this zone from any spot selectors. The spots in the zone may only be accessed by scanning a code or using a direct link. This should always be enabled.
- Joinable: Allows open tabs to be joinable at this zone.
- Discoverable Server Tabs: Allow tabs started by servers to be discoverable when guests scan the spot QR.
- If Discoverable Server Tabs is toggled on as YES: Initial Tab Discoverable: Allows operators the ability to choose the time that discoverable tabs start at.
- Open Tab Only: Automatically opens a tab for the guests. Open tabs must be enabled at the location level (Location Settings: Edit > Open Tabs are toggled ON).
---
Navigate to spots on the Zones page:

(1) Click "Manage Spots"
(2) Click "+" Symbol
Single Spot creation tool: Makes your QR codes - accessed on the QR's page.

(1) Select "Single Spot" (creates 1 QR) or "Multi Spots" (creates batch QR's)
(2) Name your spot
(3) "Confirm" to save changes or "Reset" to start over.
---
Multi Spots batch creation tool: Make multiple QR's at once.

(1) Select "Multi Spots"
(2) Name your Spot "Spot Prefix" and designate number of spots
OR
(3) Name the "Spot Prefix" and enter a Start / End number of Spots.
[^1]: For a zone to be functional you MUST make a spot**.
---
# GoTab Apps
URL: https://docs.gotab.io/operator/gotab-apps/
Description: Mobile apps for operators, managers, and on-the-go tab management.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
GoTab's mobile apps let your team manage operations, monitor your location, and handle tabs from anywhere.
---
# Downloading and using the GoTops app
URL: https://docs.gotab.io/operator/gotab-apps/downloading-and-using-the-gotops-app/
Description: Never worry about how to use GoTab during an internet outage. You can easily download the GoTops app on any device.
## POS and KDS app!
::video{src="https://player.vimeo.com/video/797827457?h=b0fd19a7dd&badge=0&autopause=0&player_id=0&app_id=58479"}
Never worry about how to use GoTab during an internet outage. You can easily download the GoTops App on any device.
**To download the GoTops app:**
- IOS - Use the Apple store and search "GoTops"
- Android - gotab.io/android/gotops up to Android 10.0gotab.io/android/gotops-legacy Android 11.0 and up.
- Windows - gotab.io/windows/gotops
- Macbook- GoTab.io/mac/gotops
Click [here](/operator/kds-printers-additional-display-setup/displaysetup/)to learn how to activate your new display.
If you have a device purchased from GoTab, managed device via our MDM (mobile device management). For these devices, GoTops can only be downloaded from the Play Store. Please reach out to GoTab Support and ask for the GoTops app if you need GoTops on a GoTab managed device and it isn't in your Play Store already.
---
# GoTab Manager app
URL: https://docs.gotab.io/operator/gotab-apps/gotab-manager-app/
Description: The GoTab Manager app allows owners and managers alike to stay in-the-know of your business on the go.
## The GoTab Manager app allows owners and managers alike to stay in-the-know of your business on the go.
**Available on Android and iOS**
-Search "GoTab Manager" in the Google Play Store or the App Store.

-Tap to download the app.
-Enter phone number and text verification code.
-Easy access to multiple locations. Multi-location users now can see combined Sales & PMIX data, as well as individual location data.

-Access to all aspects of your location's manager dashboard including the Service & Labor Reporting, as shown below.

-In app and push notifications.
 
-Click the bell icon.
-Choose notifications you'd like to receive.

[^1]: Benefits of the GoTab Manager App**
[^2]: Note: "All Locations" only shows if you have user permissions at multiple locations. User permissions at a single location drops you directly into the GoTab manager app dashboard.***
[^3]: Turn on Manager App Notifications**
---
# GoTab mobile outage FAQ
URL: https://docs.gotab.io/operator/gotab-apps/gotab-mobile-outage-faq/
Description:

---
# GoTab Manager Dashboard Announcements
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/
Description: Stay up to date with the latest GoTab product updates, feature releases, and platform announcements.
Stay up to date with the latest GoTab product updates, feature releases, and platform announcements delivered directly through the Manager Dashboard.
## 2026
- [Product Updates (4/27/26)](/operator/gotab-manager-dashboard-announcements/product-updates-4-27-26/) — Introducing invoice processing via Opsi at no cost, plus a new Preferred Name field that displays across POS, receipts, and reports.
- [POS UI Improvements (3/12/26)](/operator/gotab-manager-dashboard-announcements/pos-ui-improvements-3-12-26/) — Consolidates segment and pencil icons into a single profile icon, streamlines discounts, and removes the back button to reduce accidental taps.
- [Chargeback Dispute Process](/operator/gotab-manager-dashboard-announcements/chargeback-dispute-process/) — New chargeback dispute process to provide evidence and receive updates as the process plays out.
- [2/17/26 Product Update](/operator/gotab-manager-dashboard-announcements/2-17-26-product-update/) — Members of a recurring membership segment now show renewal status, and transitioning to Option Groups is required by March 1, 2026.
- [Product Updates (2/9/26)](/operator/gotab-manager-dashboard-announcements/product-updates-2-9-26/) — Reminder for the option groups transition and available customer coupons showing in POS when a guest has checked in.
- [Product Updates (1/26/26)](/operator/gotab-manager-dashboard-announcements/product-updates-1-26-26/) — GoTab product updates regarding automatic product delays and option groups migration.
## 2025
- [Product Update (12/22/25)](/operator/gotab-manager-dashboard-announcements/product-update-12-22-25/) — GoTab now supports 3rd party ordering discounts and adds customization options for the gift card e-commerce page CTA button.
- [Product Update: Compact Menu Options (11/10/25)](/operator/gotab-manager-dashboard-announcements/product-update-compact-menu-options-11-10-25/) — Expanded Compact Menu options on each POS display, providing more ways to control how products and menus are shown.
- [Product Update: Tab Access Permission (11/4/25)](/operator/gotab-manager-dashboard-announcements/product-update-tab-access-user-permission-11-4-25/) — A new user sub-permission limits the tabs each user can access on the POS display to only their own assigned tabs.
- [Product Updates (11/3/25)](/operator/gotab-manager-dashboard-announcements/product-updates-11-3-25/) — Introduces a Print On Send display setting for POS and cover count visibility on KDS chits, plus an Adyen terms update notice.
- [Product Update (10/16/25)](/operator/gotab-manager-dashboard-announcements/product-update-10-16-25/) — GoTab is introducing a streamlined approach to selling and activating physical gift cards directly from your POS terminal.
- [Sales Page Updates (9/9/25)](/operator/gotab-manager-dashboard-announcements/sales-page-updates-9-9-25/) — Improvements to the Sales Page to provide more clarity into your sales data.
- [Product Updates (8/26/25)](/operator/gotab-manager-dashboard-announcements/product-updates-8-26-25/) — Quick Order Menus take advantage of idle space to the right of your tabs list, plus additional POS and KDS improvements.
- [Product Updates (7/21/25)](/operator/gotab-manager-dashboard-announcements/product-updates-7-21-25/) — Upcoming removal of the Manager Dashboard Classic View sales report and a new limited product availability indicator on POS buttons.
- [Product Availability Terminology Update (7/7/25)](/operator/gotab-manager-dashboard-announcements/product-update-7-7-25/) — GoTab is updating product availability terminology: Enabled becomes Available, Disable becomes Hidden, and Set Stock becomes Adjust Stock.
- [POS Order Entry Enhancements (5/9/25)](/operator/gotab-manager-dashboard-announcements/pos-order-entry-enhancements-5-9-25/) — Improved speed, increased reliability in unstable networks, and the ability to keep adding items while offline.
- [Manager Dash Nav Title Changes (4/28/25)](/operator/gotab-manager-dashboard-announcements/manager-dash-nav-title-changes/) — Navigation title changes in the manager dashboard for more accurate and precise descriptions.
- [Product Updates (4/21/25)](/operator/gotab-manager-dashboard-announcements/product-updates-4-21-25/) — Time clock edit reasons, an All Tabs vs My Tabs display setting, Guest Mode Tap-to-Pay, and staff notes on products.
## 2024
- [Product Updates (10/24/24)](/operator/gotab-manager-dashboard-announcements/product-updates-10-24-24/) — POS UI change for NYC1 device pairing, item fulfillment status, guest pay settings, and additional customizable text messaging.
- [POS UI Connection Status Update (9/26/24)](/operator/gotab-manager-dashboard-announcements/pos-ui-connection-status-update-9-26-24/) — POS UI now communicates network connection status, displaying banners when devices lose or regain connectivity.
- [SMS Platform Transition (9/20/24)](/operator/gotab-manager-dashboard-announcements/sms-platform-transition/) — GoTab has partnered with OpenPhone to keep SMS messaging compliant with new, more stringent industry standards.
- [Product Updates (8/16/24)](/operator/gotab-manager-dashboard-announcements/product-updates-8-16-24/) — Item validation on the POS now occurs in the background for faster order entry, with a yellow highlight for items pending validation.
- [POS Updates (7/10/24)](/operator/gotab-manager-dashboard-announcements/pos-updates-7-10-24/) — Send & Pay for Quick Order when open tabs are enabled, plus improved credit card payment alerts.
- [Sales Page Update](/operator/gotab-manager-dashboard-announcements/new-sales-page/) — Vastly improved Sales Page with new information icons and clickable line items for more clarity on every amount.
- [Product Updates (3/20/24)](/operator/gotab-manager-dashboard-announcements/product-updates-3-20-24/) — New yellow indicator on the POS alerts servers when an open tab has a pending unsent order, plus a new Call Number Prompt feature.
- [Product Updates (3/6/24)](/operator/gotab-manager-dashboard-announcements/product-updates-3-6-24/) — Multi-location users can now see combined Sales & Product Mix data when selecting "All Locations" in the Manager Dashboard.
- [Product Updates (2/26/24)](/operator/gotab-manager-dashboard-announcements/product-updates-2-26-24/) — Automatic app switching between GoTab and 7Punches for clocking in/out is no longer supported; a direct API integration is now available.
- [Product Updates (2/21/24)](/operator/gotab-manager-dashboard-announcements/product-updates-2-21-24/) — POS app update addresses NYC1 USB connectivity, broader Tap to Pay support, and a pending authorization bug fix on Adyen.
- [Product Updates (2/12/24)](/operator/gotab-manager-dashboard-announcements/product-updates-2-12-24/) — GoTab is rolling out Tap to Pay on the Pocket POS, allowing guests to tap mobile wallets or contactless cards to complete payments.
- [Product Updates (2/7/24)](/operator/gotab-manager-dashboard-announcements/product-updates-2-7-24/) — A new Pending Orders modal now prompts staff when navigating away from an unsent order, with options to leave, cancel, delete, or send.
- [Product Updates (1/24/24)](/operator/gotab-manager-dashboard-announcements/product-updates-1-24-24/) — Introduces Google Redirect, POS notifications, pre-auth name prompts, seating nicknames, Pocket POS guest mode, and item details on POS and KDS.
## Feature Guides
- [KDS: Product Delays and Product Availability](/operator/gotab-manager-dashboard-announcements/86-disable-your-items-on-your-kds/) — Mark items unavailable on your KDS, set auto re-enable options, and configure product delays on the guest-facing menu.
- [Membership/Loyalty: Member Info and Checking In on the POS/CFD](/operator/gotab-manager-dashboard-announcements/membership-loyalty-check-in-on-pos/) — Customers can view their membership information and staff can check in members from the POS or customer-facing display.
- [Location Settings: How to Create Refund Reasons (Comp/Void)](/operator/gotab-manager-dashboard-announcements/how-do-i-create-refund-reasons-comp-void/) — Create refund reasons to associate with each refund, discount, comp, or void you issue from your Manager Dashboard.
- [Cash Paid In / Paid Out](/operator/gotab-manager-dashboard-announcements/paid-in---paid-out/) — Record cash transfers to and from a cash account using Paid In / Paid Out.
- [Price Embedded Barcodes](/operator/gotab-manager-dashboard-announcements/price-embedded-barcodes/) — Scan a product and have the unit price automatically populate on the tab based on weight.
---
# 2/17/26 product update
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/2-17-26-product-update/
Description: Members of a recurring membership segment now show renewal status, and transitioning to Option Groups is required by March 1, 2026.
Members of a Recurring Membership-related segment will now alert you to their renewal status on the segment page. To the right of the member's information will appear either a blue info bubble icon or a red warning icon. A blue icon bubble indicates the member is set to renew their membership as scheduled to the payment method associated with their account. A red warning icon indicates that their membership is not set to renew, either due to not having a payment method set on their account or a cancellation of their membership.



As a reminder, transitioning to GoTab's upgraded [Option Groups](/operator/menu-management/intro-to-option-groups/) functionality (as opposed to the legacy Product Options function) is required to be completed by March 1, 2026. Option Groups allow you to manage and apply a set group of modifiers to multiple products at once, while still allowing you the flexibility of adjusting Option availability, pricing, and requirements based on the associated product. Option Groups also provide you with the ability to tag specific options to trigger [Cart Rules](/operator/cart-rules-segments-loyalty-memberships/) based on the Option selected, as well as allow you to schedule gift card purchases from your dedicated [Digital Gift Card purchasing page](/operator/processors-cash-gift-cards-house-accounts/gift-card-ecommerce-page/).
**Stay Updated**
In addition to these product update announcements via your Manager Dashboard, if you'd like to receive direct updates on feature releases, optimization recommendations, and all things related to the GoTab platform, [subscribe to the GoTab Newsletter](https://forms.fishbowl.com/form/014f68ee-35ff-40eb-aecc-a84db9436491) using this link.
[^1]: Recurring Membership Status Info**
[^2]: Option Groups Migration Reminder**
---
# KDS: Product delays and product availability
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/86-disable-your-items-on-your-kds/
Description: Learn how to mark items unavailable on your KDS, set auto re-enable options, and configure product delays that appear on the guest-facing menu.
### Update availability for your items on your KDS:
Please note that when marking options unavailable they are defaulted to be available again the following day. If you would like to change this setting and have product availability updated manually, navigate to your Manager Dashboard: Location Settings > Edit > Auto Re-Enable 86'd Products is turned ON/OFF
Click the three lines in the upper left corner:

Press products:

Press the item you would like to make unavailable, then press Unavailable. 
If you navigate to options at the top you can then update the availability for individual modifiers:


If you press the french fry icon on the top right, you can bulk edit availability for options. 
On the top left side of your KDS, you can view all unavailable products and re-enable them by clicking on Unavailable at the top of the screen. 

**Product Delays**
Product delays are set in the KDS, but appear directly on the guest facing menu. If using the countdown mode on the KDS, the delay time is added to the total ticket prep time.
Hit ≡, then click products. You can filter by the station the item is routed to.

Press the product you need to delay then press**DELAYS**
You will choose one of the following delays: 
If you navigate back to the tickets screen, on the top left, click delays, then you can tap any item to remove the delay.

Product delay on the guest-facing menu:

---
# Chargeback dispute process
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/chargeback-dispute-process/
Description: New chargeback dispute process to provide evidence and receive updates as the process plays out.
## This message was sent via the GoTab Customer Newsletter, as well. Subscribe to the newsletter at the bottom of this page.
Effective Monday, March 9, 2026, GoTab has introduced an improved Chargeback dispute process for customers.
We are partnering with a new third party to dispute chargebacks on your behalf. The process will continue to be automated and does not require additional action from you. However, we are providing two key improvements to the chargeback process.
- We will email you via the support email listed on your manager dashboard (Location Settings → Edit → Edit Location → “Questions/Support Email” (screenshot below)
**WHAT YOU NEED TO DO**
Ensure the questions/support**email you have provided is accurate and is monitored** by someone on your team.
You will also receive status updates to the question/support email address you provide as the chargeback case progresses.
**FREQUENTLY ASKED QUESTIONS**
- What is a chargeback anyway? A chargeback is when a consumer disputes a charge on their account statement. See this article for additional information: https://www.adyen.com/knowledge-hub/understanding-chargebacks
- How long do chargebacks take? Consumers have between 120 to 365 days to initiate a chargeback, depending on their card type. Once a chargeback is disputed, the resolution time is typically 2-6 weeks, though it can extend up to 120 days.
- What evidence does GoTab’s partner submit automatically to dispute chargebacks? GoTab’s partner includes all order and tab data associated with a chargeback from both the GoTab dashboard and the Adyen balance platform. If the consumer has a history of ordering with GoTab, we will also include any relevant information.
- What if I miss the 48 hour window to submit additional evidence? Once our partner submits the chargeback dispute, no additional evidence can be included. Credit Card companies have reduced the number of days to dispute chargebacks, so we must act quickly to ensure we dispute every chargeback.
- Can I dispute chargebacks on my own? No. Chargebacks can only be disputed through the Adyen balance platform which GoTab customers do not have access to.
**Stay Updated**
In addition to these product update announcements via your Manager Dashboard, if you'd like to receive direct updates on feature releases, optimization recommendations, and all things related to the GoTab platform, [subscribe to the GoTab Newsletter](https://forms.fishbowl.com/form/014f68ee-35ff-40eb-aecc-a84db9436491) using this link.
[^1]: Updated Chargeback Dispute Process**
[^2]: GOTAB WILL EMAIL YOU WHEN A CHARGEBACK IS ISSUED**
[^3]: Submit additional evidence within 48 hours**. You will have 48 hours to submit additional evidence before the chargeback dispute is filed. Additional evidence can include images or videos to prove the customer was present at your location during the transaction.
[^4]: MONITOR YOUR QUESTION/SUPPORT EMAIL FOR STATUS**
---
# Location Settings: How do I create refund reasons? (Comp/Void)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/how-do-i-create-refund-reasons-comp-void/
Description: You can create refund reasons to associate with each refund, discount, comp, or void you issue from your Manager Dashboard.
You can create "refund reasons" to associate with each refund, discount, comp, or void you issue.
1. To create a refund reason, navigate to your Manager Dashboard > Location Settings > Edit
2. Scroll to the bottom and open the drop-down for “Custom refund, comp/void, and discount reasons”
3. Add or delete any refund reasons

You will then be able to choose one of these options when issuing a refund, discount, comp, or void.
---
# Manager dash nav title changes (4/28/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/manager-dash-nav-title-changes/
Description: On Tuesday 4/29/25, we will make a few navigation title changes in the manager dashboard for more accurate and precise descriptions for multiple pages. Account
On Tuesday 4/29/25, we will make a few navigation title changes in the manager dashboard for more accurate and precise descriptions for multiple pages.



[^1]: Account Reporting** will become**Balance Accounts**
[^2]: Accounting** will become**Payouts**
[^3]: Rules** will become**Cart Rules**
[^4]: Invoices** will become**Remittances**
---
# Membership/Loyalty: Member info and checking in on the POS/CFD
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/membership-loyalty-check-in-on-pos/
Description: Customers can view their membership information and staff can check in members from the POS or customer-facing display.
**Member Info**
Customers can view their membership information from their[GoTab Account](https://manager.gotab.io/cust/account).
First, they'll need to click on the user icon in the top right , then navigate to Account > Settings where they can see all of their account details. From here, they'll just need to scroll down to see any available Coupons and Membership information.

1. Ring in the customer's order: Add the items the guest wishes to purchase to their tab as normal.
2. Initiate rewards check-in and enter phone number:
Without a CFD, the server will click on "Rewards Check-in" at the top of the tab and enter the customer's phone number.
3. With a CFD, the customer will click on the "Rewards Check-in" button and enter their phone number.
1. The customer will receive a text with a link they can click on in order to complete the check-in process.
2. With quick check-in* enabled, the system will automatically check the customer in and provide a notification on the customer-facing display. There is no need for the guest to access their phone or follow a link.



[^1]: Checking in an Existing Member from the POS**
[^2]: Check-in:**This will happen in one of two ways depending on your location's settings.
[^3]: Verify check-in status:** On the POS, once the information is sent, you will see "Customer Info" displayed instead of "Check-In," indicating the customer has been successfully checked in.
[^4]: View reward status:** By clicking on "Customer Info," you can view the customer's name and the status of their rewards.
[^5]: To enable quick check-in at your location, from the manager dashboard go to Location Settings > Edit > Display Settings > ensure Quick Check-In is toggled ON
---
# Sales page update
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/new-sales-page/
Description: Improved Clarity Whether it's the new information icon that explains how each line is calculated or clicking into each line to reveal the numbers that comprise
### To provide improved clarity and a more robust experience, you will see a vastly improved Sales Page in your GoTab Manager Dashboard starting on Wednesday, 7/3/24.
**Improved Clarity**
Whether it's the new information icon that explains how each line is calculated or clicking into each line to reveal the numbers that comprise every amount, you'll have more clarity than ever on the new Sales Page.

**More Robust Experience**
You will also see additional charts, graphs and information to provide a more robust view of your sales.


**Classic Sales View**
To return to the original Sales Page view, toggle the "Classic View" in the upper right hand corner.

Head on over to your revamped Sales Page now to check it out!
---
# Cash paid in / paid out
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/paid-in---paid-out/
Description: Paid In / Paid Outs allow you to record cash transfers to and from a cash account.
## Paid In / Paid Outs allow you to record cash transfers to and from a cash account.
Paid In/ Paid Outs are when cash is either added or taken from a cash drawer without a sale being made.
**Use Cases:**
- Record Cash Tips
- Take cash from the register to grab last-minute produce
- Replenish a bartenders cash drawer with more money
- Navigate to the processor's page in the Manager Dashboard
- Click the pencil icon next to your already-created cash processor
- Press +add new reason
- Input a name, type, accounting stream, and description
- Press submit


**Issue a paid-in/paid out:**
- Press “More” on the POS
- Choose Settings then navigate to Processors
- Find cash processor and hit View Accounts
- Find your cash account and hit Pay In / Pay Out
- Enter Value and select reason then submit

** View your Paid In/Paid Outs on the sales dashboard**
- You can view expense, quantity, and amount
- A downloadable csv is available

[^1]: Set up the paid-in/paid-out reasons:**
[^2]: Note: To access this feature, you will need the permission control: payments. ***
---
# POS order entry enhancements (5/9/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/pos-order-entry-enhancements-5-9-25/
Description: POS order entry enhancements bring improved speed, increased reliability in unstable networks, and the ability to keep adding items while offline.
We are excited to announce enhancements to the POS order entry experience releasing early next week. You will see improved speed of interaction and increased reliability in unstable network environments.
You'll be able to add items to a pending order in rapid succession without waiting for stock availability checks. The current yellow highlight seen when adding an item will be replaced with a progress bar at the top of the order screen. As you add items, the progress bar resets and allows you to continue building the order while we sync pending items in the background every 3 seconds.

Any unavailable items added to your pending order will highlight red and the item will be crossed out. Tapping the red highlight shows the reason for the item unavailability. Any highlighted out-of-stock items will not be sent.

You will still see the offline notification banner if your POS loses network connectivity, but you will now be able to continue adding items to an in-progress order. This allows you to finish entering a guest's order in the event of a temporary network disruption. Once the POS has reestablished its network connection, you will then be able to send the order.

---
# POS UI connection status update (9/26/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/pos-ui-connection-status-update-9-26-24/
Description: A POS UI update now communicates network connection status for the POS and CFD, displaying banners when devices lose or regain connectivity.
We released an update to the POS UI to communicate network connection status of the POS and CFD (Customer Facing Display). The images below show the various banners that will appear if your POS of CFD is not connected to a network. You can dismiss these notifications by clicking the "X" in the right hand side of the banner. If you are receiving a notification that your device(s) are not connected to a network, please take steps to ensure the devices are properly connected to your network (Ethernet of WiFi), and that your network is functioning properly.
-Upon pinning in, if you are supposed to connect to a CFD, this banner will show up after 5 seconds if it hasn’t connected to the CFD yet. It will automatically dismiss after connection:

-If the POS connects the CFD at least once and it disconnects from it, this will show. It will go away if it reconnects.:

-If the POS disconnects from the internet:

-If the POS reconnects from a disconnected state:
This one will automatically dismiss after 4 seconds
The banner will always prioritize the POS’s connection to the server/internet first vs the link to the CFD.
---
# POS UI improvements (3/12/26)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/pos-ui-improvements-3-12-26/
Description: POS UI improvements consolidate the segment and pencil icons into a single profile icon, streamline discounts, and remove the back button to reduce accidental taps.
On Tuesday 3/17 around 8AM US Eastern, we will release some POS UI improvements These improvements are designed to streamline the POS ordering UI, remove some redundancies, reduce accidental button presses and with future features in mind.
**New Customer Profile Icon**
The original segment button and pencil icon to edit the name of the tab will consolidate into a single Profile Icon in the upper right. This streamlines the UI and groups certain editing of tab information into one consolidated area.

From one tap of the profile icon, staff can rename the tab, adjust cover counts and manage segments.

**Streamlined Discounts & Fees**
The Discounts & Fees will now only show the Open Discounts section and any discounts applied to the order.

**Back Button Removed**
The back button has been eliminated to reduce any instances of unintentionally not sending an order or leaving an order pending. The spot name now takes the back button's old place. These changes, along with moving segments to the profile icon, consolidates the UI and helps eliminate some unintentional clicks of either the authorize or segment button that could previously occur.

Segments applied to a tab are now visible next to the customer name on open tabs, giving staff a clearer at-a-glance-view. The new Profile Icon will also be accessible on any open tab, as well.

[^1]: Segment Displayed on Open Tabs**
---
# POS updates (7/10/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/pos-updates-7-10-24/
Description: “POS updates introduce Send & Pay for Quick Order when open tabs are enabled, plus improved credit card payment alerts with clear success and failure notifications.”
### Updates to Quick Order
Pay & Send will now become Send & Pay when using Quick Order if the “Can Start Open Tab” setting is toggled on for a display. This setting is on by default so most displays will see the changes listed below take effect.

**What does this change mean?**
Now when using Send & Pay with Quick Order, the order is immediately sent. This creates an open tab, and brings you to the payment screen. This change will allow food and drink preparation to start immediately while your guests complete payment, increasing the speed with which you can serve guests.

**Is Pay & Send Gone?**
No. If you have a display where an open tab is never created, toggle the “Can Start Open Tab” off pictured at the top. An example where we may want the open tabs toggle off is a coffee shop. A guest walks up, pays for a coffee and is never opening a tab that they would add to later. Toggle the “Can Start Open Tab” setting off and you’re returned to the Pay & Send setup where the order is not sent until it is paid in full as shown below. Please note that if utilizing Pay & Send, there is no ability to authorize a credit card. Since this is now a display that cannot start an open tab, there is no ability to authorize as we are looking to take payment in full and proceed to the next order.

### Credit Card Payment Alert Updates
For tabs paid in full via credit card, we have added a more distinct alert letting you know that tab payment is successful and paid in full. We have also added the ability to jump straight into a Quick Order, open a new tab or dismiss to go to your main POS screen.

A partial credit card payment will provide an alert letting you know that the partial payment was successful but also that there is still a balance due.

In the event of a credit card failure, we alert you that the card attempt was unsuccessful and provide the reason for the failure.

---
# Price embedded barcodes
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/price-embedded-barcodes/
Description: Price embedded barcodes allow you to scan a product and have the unit price automatically populate on the tab based on weight.
> Operators should be mindful of keeping configuration consistent between GoTab and Label-Printing Scales. (Item Codes and prices)
Price embedded barcodes will allow you to scan a product and within the barcode, a unit price is embedded. Then, you take that just scanned product and weigh it. With the price embedded in the barcode, once you weigh the product, the final price will automatically populate on the tab. (Think grocery store where you weigh a product and it prints a barcode that you scan at checkout. The price is embedded within that barcode so when you scan at checkout, the correct amount is added to your cart).
Click the barcode icon on the [Stock Levels Page](https://manager.gotab.io/manager/inventory?pick_loc=1) of the Manager Dashboard.
A modal will appear prompting you to enter the “barcode mask” we should expect when scanning one of these barcodes on the POS or Kiosk. Each of these letters corresponds to a number in the barcode. For now, this feature is only concerned with the Item Code, Price, and Weight characters. Often the mask will only include Item Code, and either Price or Weight due to character limitations (typically 13 digits in the barcode)
For the mask below, we would expect to parse the following from the barcode: `0000101003245` (we ignore leading zeros for these values)
Item Code: 101
Weight: 324 (3.24 lbs, or whatever price by weight value the product is set to)
If this barcode was scanned on the POS or Kiosk, we find the product that has a matching Item Code, then set the product’s quantity to the weight, which would calculate the price based on the product’s base price setting.
If this mask replaced the W characters for P, we would now be parsing the price from the barcode. Price is in pennies when stored in the barcode. This price in the barcode is the total price for the item. In this case, we divide the barcode price from the product’s base price to get the weight, and set the quantity accordingly.
> If there’s a mismatch between the price set in GoTab and on the scale, then the price printed on the label may not match
The products that will be used by this feature MUST have an Item Code set AND have a value set for Price by Weight. The Item Code field is available when creating or editing a product. The product should also have a base price set.

[^1]: What are price embedded barcodes? **
[^2]: How to Configure Price Embedded Barcodes**
---
# Product Update (10/16/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-update-10-16-25/
Description: GoTab is introducing a streamlined approach to selling and activating physical gift cards directly from your POS terminal.
In the coming days, GoTab will be introducing a more streamlined approach to selling and activating physical gift cards from your POS terminal.
Currently, the flow to activate a physical gift card (as shown below) involves adding the gift card product to a tab, closing the tab with a choice of payment, and then being prompted to scan the gift card through an activation module.

The future, more streamlined approach will prompt for the gift card to be scanned while adding the gift card product to the tab. Upon closing the tab in full, the gift card will become activated automatically. An example of the flow to be expected is shown below.

This new flow should make selling gift cards to both newly created and open tabs easier and more automated, removing the need to manually activate the gift card after the card has been sold.
---
# Product Update (12/22/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-update-12-22-25/
Description: GoTab now supports 3rd party ordering discounts and adds customization options for the gift card e-commerce page CTA button.
## 3rd Party Ordering Discount Support
For those utilizing 3rd Party Ordering aggregation (pulling in orders from platforms like Doordash, UberEats, GrubHub, etc), you will now be able to opt in to, track, and collect platform-issued discounts and promotions as they are made available by those 3rd party ordering platforms. These discounts that are issued by the 3rd party ordering platforms will be tracked as an Open Discount on your GoTab Sales page.

For those selling digital gift cards directly from the card's new [dedicated e-commerce page](/operator/processors-cash-gift-cards-house-accounts/gift-card-ecommerce-page/), there are now customization features attributed to the call to action button, linking to a separate window. The default of this button will bring a guest to your default GoTab location page, providing them with information about your location and, if items are available to be purchased, providing them with the opportunity to do so.
Now, the button can be customized to read and/or link to any url, or can be hidden completely if preferred. The customization may be useful to locations that do not offer any sort of online ordering beyond digital gift cards, for locations that would rather link to their booking/reservation/events page, or for those that would like to link to a specific menu or ordering page rather than the general location landing page.
The customization settings can be found through the Manager Dashboard under your Gift Card Processor. An example screenshot can be found here.

Stay Updated
In addition to these product update announcements via your Manager Dashboard, if you'd like to receive direct updates on feature releases, optimization recommendations, and all things related to the GoTab platform, [subscribe to the GoTab Newsletter](https://forms.fishbowl.com/form/014f68ee-35ff-40eb-aecc-a84db9436491) using this link.
[^1]: Dedicated Gift Card Page Customization**
---
# Product Availability Terminology Update (7/7/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-update-7-7-25/
Description: GoTab is updating product availability terminology: Enabled becomes Available, Disable becomes Hidden, and Set Stock becomes Adjust Stock.
This week we will make some terminology updates to product availability terms in the product catalog and [item details modal](/operator/menu-management/item-details-on-pos-kds/).


86 will become Unavailable

Set Stock will become Adjust Stock


[^1]: Enabled **will become**Available.** If utilizing inventory functionality, the available button will also now show an indicator of the amount of the product currently left within the item details modal.
[^2]: Disable**will become **Hidden**and will be added to the item details modal.
---
# Product Update: Compact Menu Options (11/10/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-update-compact-menu-options-11-10-25/
Description: GoTab has expanded its Compact Menu options on each POS display, providing more ways to control how products and menus are shown.
In an effort to provide more options for how products and menus are displayed on the POS, GoTab has expanded its Compact Menu options on each POS display. The settings selected will only impact the specific display and will apply to every menu shown on that display.
Access the Compact Menu options at each display by tapping into More > Settings > Spots & Menus > Compact Menu.
There you will find four options: None (default), Compact Buttons, Compact Layout, and Compact Menu

Compact Buttons will simply make each product button more compact, allowing for a few more items to show on the initial screen without scrolling.
Compact Layout will remove the Category breaks, but leave the the product buttons full sized
Compact Menu will compact the product buttons and remove the category breaks
Pro Tip: If using Compact Layout or Compact Menu options, color-code your products to make it easier to see and find items quickly. Colors are set on the category and product levels in the [Product Catalog](https://manager.gotab.io/manager/displays?pick_loc=1) of your GoTab Manager Dashboard.




---
# Product Update: Tab Access Permission (11/4/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-update-tab-access-user-permission-11-4-25/
Description: A new user sub-permission server:self limits the tabs each user can access on the POS display to only their own assigned tabs.
**Tab Access User Permission**
A new user sub-permission**server:self** has been added. This give you the ability to limit the tabs each user has access to on the POS display. Users with only this sub-permission, but NOT the overarching**server **permission will only be able to access and adjust their own tabs, or "My Tabs", and will not be able to adjust Tabs assigned to others or Tabs without assignments.
Users with the new limited permission set will receive an alert that they do now have permission to view all tabs if they only have the new**server:self** permission.

Existing users will not be impacted. Newly created users will still have to ability to have the top level**server** permission with the same access granted as before.

Or you can now select just**server:self** to limit user access to just their tabs.

---
# Product Updates (1/24/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-1-24-24/
Description: This update introduces Google Redirect, POS notifications, pre-auth name prompts, seating nicknames, Pocket POS guest mode, and item details on POS and KDS.
## Upcoming Feature
**Google Redirect**
The Google Redirect integration will allow the ‘Order Online’ button within Google to redirect your guests to online ordering with GoTab for your location.

## Updates & Highlights
**POS Notifications**
Utilize notifications on your POS to get notified when a product is 86d, POS refund requests, QR tab ratings or when a QR is scanned in your establishment. Click [here ](/operator/pos/pos-notifications/)to learn more

POS Pre Auth Name Prompt
This tool allows for an automatic name prompt to show in your POS when preauthorizing a credit card. We automatically detect that no name was abled to be pulled from the credit card for a tab and provide you the opportunity to manually add a name. Click [here ](/operator/managing-your-tabs/nameprompt/)to learn more.
**POS Seating**
The ability to add seat numbers to items on an order is not brand new, but we just added increased functionality allowing you to add a nickname to seat. Click [here ](/operator/managing-your-tabs/how-do-i-add-seat-numbers/)to learn more about seating.
**Pocket POS Guest mode**
Quickly flip to guest mode to more intuitively allow your guest to pay, tip and choose method of receipt delivery directly from the Pocket POS. Click [here ](/operator/managing-your-tabs/guest-pay/)to learn more.
**Item Details on POS & KDS**
The item detail functionality allows your servers or kitchen staff to quickly bring up additional item descriptions, as well as quick access to 86ing and stock levels on a product. Click [here ](/operator/menu-management/item-details-on-pos-kds/)to learn more.
---
# product-updates-1-26-26
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-1-26-26/
Description: GoTab product updates regarding our automatic product delays and option groups migration.
## Product Updates 1-26-26
### Product Delays Timer
An upgrade has been pushed out to better serve those who utilize **[Product Delays](/operator/uncategorized/86-disable-your-items-on-your-kds/)**from the Products page of your KDS or POS displays. As a reminder, Product Delays allow you to communicate timing expectations for production of certain products or a series of products, both directly to your guests ordering via a self service Kiosk, ordering online for takeout or delivery (1st party orders only), or through guest mobile order flow and to your FOH staff by displaying the delay on the product button of your POS display.
Now, after setting the length of the delay you'd like to display, you will be prompted to select a length of time you'd like the delay to apply. The displayed delay will automatically remove itself after that amount of time has passed. This functionality will be useful in situations where you find your fulfillment station to be overwhelmed, but expect it to catch up within a designated amount of time. Setting the removal of the delay will ensure you will not forget to remove the delay manually. Note, you still retain the ability to remove the delay manually at anytime

**Option Groups Migration**
As communicated through the customer newsletter (**[sign up for the newsletter here](https://forms.fishbowl.com/form/014f68ee-35ff-40eb-aecc-a84db9436491)**), the legacy [Modifiers](/operator/menu-management/creatingamodifier/) management module (aka Product Options) is being retired in lieu of the upgraded**[Option Groups](/operator/menu-management/intro-to-option-groups/)** module being released. This is to serve as a reminder of the need to migrate your product catalog to support the new Option Groups before***March 1, 2026***. In addition to being easier to apply and manage, Option Groups have also opened up other new features that have been released in the past few months, most notably**Option Tagging** (giving you the ability to build**[cart rules](/operator/cart-rules-segments-loyalty-memberships/)** that only apply when specific modifiers (options) are selected and the ability to create a dedicated [Digital Gift Card E-commerce](/operator/processors-cash-gift-cards-house-accounts/gift-card-ecommerce-page/) page, which also allows your guests to schedule gift card purchases to be sent at a future date/time.
As you build out the proper Option Groups for your location, make sure to review each product's current Product Options sets to see which Option Groups it will need. Your location has already been placed in Migration Mode, allowing you to continue to use the Product Options currently set up while building the new Option Groups and applying them to the appropriate products in the background. Once all Option Groups are created and applied accordingly, we will be able to switch your location over to start using the new Option Groups with a quick flip of the switch, making your already set up Option Groups live and retiring your old Product Options without anyone feeling the change.
To quickly review your product catalog, look at the icons below each product. Any product that has its Product Options icon highlighted will need new Option Group(s) applied. As you and your Account Manager review your progress, keep an eye on these icons to remind yourself of which products are ready to go and which still need attention, before flipping that final activation switch.

---
# Product Updates (10/24/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-10-24-24/
Description: This update covers a POS UI change for NYC1 device pairing, item fulfillment status, guest pay settings, and additional customizable text messaging.
## UI Update
The Pair Payment Device button for NYC1 pairing has moved to More--Settings--Payment in the POS.

## Product Highlights
**POS Item Fulfillment Status**
Save time and unnecessary trips to the kitchen to find out if items on a tab are ready by utilizing the Status view on a tab. Click [here ](/operator/pos/tab-views/)for more information.

**Guest Pay Updates**
You can now turn off automatic screen rotation and PIN requirement to re-enter the POS after exiting Guest Pay. Navigate to More--Settings--Payment in your POS to adjust your Guest Pay preferences. Click [here ](/operator/managing-your-tabs/guest-pay/)for more information on Guest Pay.

More messaging, including Easy tab, is now customizable! Navigate to Location Settings--Messaging--Online Ordering in your GoTab Manager Dashboard. Click [here ](/operator/manager-dashboard/how-to-create-custom-messages/)for more information on messaging.

[^1]: Additional Customizable Text Messaging**
---
# Product Updates (11/3/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-11-3-25/
Description: This update introduces a Print On Send display setting for POS and cover count visibility on KDS chits, plus an Adyen terms update notice.
**Print On Send Display Setting**
A new setting has been added to the POS displays, which, when enabled, will print a new, updated receipt to the assigned printer automatically after a new order is sent from that POS display. Note: The setting will only appear on displays that have an assigned printer.
This setting may be useful in settings where a physical receipt is presented to a guest as they add to their tab.

A new display setting on the KDS has been added to allow Cover Counts to appear on KDS chits if it was collected at the POS. This will appear on every chit and may be useful for locations that portion out items based on the number of guests at the table or determine how many plates to bring to the table if serving family-style.

**
**Example chit with Cover Count**

**Additional Updates**
[^1]: Cover Counts Exposed on KDS Chits**
[^2]: Example chit without Cover Count
[^3]: Adyen has updated the Adyen for Platforms [Terms and Conditions](https://www.adyen.com/legal/adyen-for-platforms-terms-and-conditions) applicable to you. The updated terms are available now for your review, but will not be effective until thirty (30) days following this notice or such longer period as may be required by applicable law. Please note that you will be deemed to have accepted the new terms on such date unless you terminate your use of the Adyen services beforehand. We encourage you to review the latest terms to stay informed about how they may impact your use of Adyen.*
---
# Product Updates (2/12/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-2-12-24/
Description: GoTab is rolling out Tap to Pay on the Pocket POS, allowing guests to tap mobile wallets or contactless credit cards to complete payments.
## Feature Release
**Tap To Pay on Pocket POS**
Enabled upon request, we are officially beginning our roll out of our "Tap to Pay" functionality on 2/13. Once enabled at your location, you will now see "Tap to Pay" populate as a payment method when hitting "PAY" in the POS on compatible devices.

With Tap to Pay, you can simply tap mobile wallets or tap to pay compatible credit cards to the back of your Pocket POS.

Click [here ](/operator/pos/phone-only-pos/)to learn more on the "Tap to Pay" feature.
---
# Product Updates (2/21/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-2-21-24/
Description: An important GoTab POS app update addresses NYC1 USB connectivity, broader Tap to Pay support, and a pending authorization bug fix on Adyen.
Today we released an important GoTab POS app update. At the end of service today (Wed 2/21) or before service starts tomorrow (Thu 2/22), please update both the GoTab POS app and the NYC1. The updates addressing the following aspects of payment processing on Adyen.
- NYC1 USB Connectivity: This updates enables an NYC1 to directly connect to your CFD or POS via USB. Previously, Bluetooth was the only connection available to process payments with an NYC1.
- Broader Support for Tap To Pay: This Adyen required update will help allow GoTab to turn on Tap To Pay globally, rather than purely by request per location.
- Pending authorization bug fix: Adyen has completed a bug fix that caused some authorizations on credit cards to hold for an extra business day.
How to Update GoTab POS App
On both POS and/or CFD, navigate to the Play Store--GoTab POS or POS Private--Update.

Update NYC1 Firmware
Notes: This can only occur once the above GoTab POS app update is complete.
Firmware update via Bluetooth can take 5-10 minutes. Via USB, the update can complete in as little as 1-2 minutes.
If the NYC1 is paired directly to the POS, navigate to More–Settings–Pair Payment Device
If NYC1 is paired to a CFD, in POS navigate to More–Settings–Configure CFD Settings. Now on CFD itself, tap “Pair Payment Device” and the remaining steps are the same.

Tap the red dot indicating a firmware update is available for the NYC1
Tap Install
Once installed, the NYC1 will beep indicating that the install is complete, and you are now fully up-to-date!
---
# Product Updates (2/26/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-2-26-24/
Description: Automatic app switching between GoTab and 7Punches for clocking in/out on the POS is no longer supported; a direct API integration is now available instead.
### Settings/Functionality Update
**7Shifts/7Punches Change**
Automatic app switching between GoTab and 7Punches for clocking in/out on the POS is no longer supported. We now support a direct API for clocking in/out with 7Punches without ever having to leave the GoTab POS. There are two options available.
Option 1: Contact your customer success manager or GoTab chat support to grant access to the 7Punches direct API.
Option 2: Manually open 7Punches to clock in/out.
#### Notes:
*-This change will not affect your 7Shifts integration, data etc. This only relates to app switching on clock in/out specifically.*
*-If using the direct API, clock in/out must be done via the same method by a user during their shift. Example: If a server clocks in via the API on the POS, they must also clock out in the POS. Attempting to clock in on the POS and out separately in 7Punches can cause errors. *
*-The 7Punches icon on the POS no longer shows.*
#### POS Settings/UI Update
The "Show Prices" setting within Spots & Menus on the POS has been removed.

With the setting removed, the price can now be found by long pressing an item.

### Product Highlights
**GoTab Manager App**
Available on both Android and iOS, the GoTab Manager app allows you real-time access to your location's settings and reporting, as well as push notifications directly from your mobile device. Click [here ](/operator/gotab-apps/gotab-manager-app/)to learn more.
**GoTab Labor Management**
GoTab continues to build out our Labor Management functionality including the preventing of clocking out with tabs still open, as well as the newly added declaration of cash tips at clock out. Click [here ](/operator/manager-dashboard/howtomanagelabor/)to learn more.
---
# Product Updates (2/7/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-2-7-24/
Description: A new Pending Orders modal now prompts staff when navigating away from an unsent order, with options to leave, cancel, delete, or send the order.
### New Functionality
**Pending Orders Modal**
We have added a modal that now shows when you have entered an item and attempt to navigate out of an order without actually sending the order.***Leave Pending** ba*cks out without sending the order and keeps the tab in a pending state with the items still waiting to be sent. ***Cancel*** closes the modal and leaves you in the pending tab.***Delete Order*** deletes the items in the order and brings you back to where you can close the empty tab.***Send ***sends the order through as normal.

### Upcoming UI Update
Expected before Tuesday 2/12, there will be an update to the UI during an order on the POS. This update will show the quantity of item(s) added within an order on the menu side of the POS.

### Updates & Highlights
Personalize your point of sale by adding your company logo. Navigate to the image manager within the location settings in the GoTab manager dashboard.

**Refund Mode**
The refund mode feature allows a manager to issue a credit back to a guest, most commonly used for refunding keg deposits. Click [here ](/operator/pos/refund-mode/)to learn more.
**Guest Cover Count**
You can now add a cover count for the number of guests on a given tab on your POS. Click [here ](/operator/managing-your-tabs/guest-count/)to learn more.
**Easy Tab**
We also recently added a quick share option for guests utilizing Easy Tab, making it even easier than ever to allow friends to join each other's tab.

Unfamiliar with Easy Tab or just want to learn more about it? Click [here ](/operator/user-experience/how-to-use-easy-tab/)to learn what Easy Tab is, [here ](/operator/user-experience/how-to-set-up-easy-tab/)on how to set it up and [here ](/operator/user-experience/easy-tab-how-do-i-use-it/)to learn how to use it.
[^1]: Add Your Company Logo to the POS**
---
# Product Updates (2/9/26)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-2-9-26/
Description: Product updates for 2/9/26 including reminder for option groups transition and available customer coupons showing in POS when guest has checked in.
If your guests have claimed a coupon by scanning the associated QR code or clicking the associated URL link or have been issued a coupon through a Loyalty reward or as part of their Membership subscription, their coupons were already visible to them via their [GoTab account profile](https://gotab.io/cust/account). Now, after checking in at any POS terminal, the guests' coupons will be visible under their Customer Information button. Previously, this button only showed their membership status to loyalty or membership programs at your location. Moving forward, the membership status will still show, along with an added tab to view the coupons associated with the customer's profile and, for those applicable coupons, the number of usages those coupons have left. [Checking In](/operator/uncategorized/membership-loyalty-check-in-on-pos/) allows all applicable coupons to be applied to a claimed tab, not just loyalty and membership-related coupons.
Note: These coupons will still be automatically applied to the guest's tab if the criteria of the coupon are true. If a guest doesn't want to use their coupon(s) they should start a new tab and close it out anonymously, without checking in.

As a reminder, transitioning to GoTab's upgraded **[Option Groups](/operator/menu-management/intro-to-option-groups/)** functionality (as opposed to the legacy Product Options function) is required to be completed by March 1, 2026. Option Groups allow you to manage and apply a set group of modifiers to multiple products at once, while still allowing you the flexibility of adjusting Option availability, pricing, and requirements based on the associated product. Option Groups also provide you with the ability to tag specific options to trigger [Cart Rules](/operator/cart-rules-segments-loyalty-memberships/) based on the Option selected, as well as allow you to schedule gift card purchases from your dedicated [Digital Gift Card purchasing page](/operator/processors-cash-gift-cards-house-accounts/gift-card-ecommerce-page/).
**Stay Updated
In addition to these product update announcements via your Manager Dashboard, if you'd like to receive direct updates on feature releases, optimization recommendations, and all things related to the GoTab platform, [subscribe to the GoTab Newsletter](https://forms.fishbowl.com/form/014f68ee-35ff-40eb-aecc-a84db9436491) using this link.
[^1]: Guest Associated Coupons Visible Upon Check-In**
[^2]: Option Groups Migration Reminder**
---
# Product Updates (3/20/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-3-20-24/
Description: A new yellow indicator on the POS alerts servers when an open tab has a pending unsent order, plus a new Call Number Prompt feature for buzzer-style ordering.
### UI Update
We recently added a yellow indicator in the POS to alert a server when an already open tab has an order that is still pending. This icon does not show on entire tabs that are still pending, but rather on already open tabs that have an order that has not yet been sent.

### New Functionality
We have added the ability to add a Call Number Prompt (think buzzer number system) on an order. Click [here ](/operator/pos/call-number-prompt/)to learn more how to setup and utilize our call number prompt.

### Product Highlights
**Insufficient Funds Protection**
Did you know we have functionality to help ensure your guests are never able to add to an order on a card with insufficient funds? With our insufficient funds protection turned on, we can reauthorize every time an order is sent, rather than the traditional single authorization at the beginning of a tab. Click [here ](/operator/product-spotlight/insufficient-funds-protection/)to learn more about our insufficient funds protection.
**Phone Pass**
Our Phone Pass feature provides the opportunity to add a mobile number to a POS-initiated order whereby guests will automatically receives texts when their order is fulfilled from a KDS. Click [here ](/operator/pos/adding-a-mobile-number-to-a-pos-tab/)to learn more.
**Cash Tax-Inclusive**
Our cash tax-inclusive feature allows you to build the tax amount into the purchase price of a product paid with cash. Click [here ](/operator/processors-cash-gift-cards-house-accounts/cash-tax-inclusive/)to learn more.
---
# Product Updates (3/6/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-3-6-24/
Description: Multi-location users can now see combined Sales & Product Mix data when selecting "All Locations" in the GoTab Manager Dashboard.
### Product Highlights
Multi-location users can now see combined Sales & Product Mix data when they select "All Locations" in the GoTab Manger Dashboard. Individual location data is still available by selecting a specific location from the drop down menu, but when "All Locations" is selected, you will now see the aggregated Sales and PMIX data for all of your locations.
**
You can also check this out on the go with the GoTab Manager App. Click [here ](/operator/gotab-apps/gotab-manager-app/)to learn more about the manager app.

**Knowledge Base**
We often link to our Knowledge Base within our announcements. Did you know you have access to our Knowledge Base via "Training" directly from your GoTab Manager Dashboard?

A previous announcement no longer showing in your GoTab Manager Dashboard? Click [here ](/operator/gotab-manager-dashboard-announcements/)to find prior announcements.
### New Functionality
Within the spot assignment of "Spots & Menus" in your POS, you can now assign specific servers to Takeout & Delivery Spots. Previously, this was only available for Dine-In spots. Click [here ](/operator/pos/pos-server-spot-assignments/)to learn more on spot assignments.

### Upcoming UI Change
**Guest Mode**
"Guest Mode" will move from "More" on a tab, to a payment method selection after hitting "Pay" and show as "Guest Pay". What is Guest Pay? Click [here ](/operator/managing-your-tabs/guest-pay/)to learn more.

[^1]: All Location Sales & PMIX View**
[^2]: GoTab Manager Dash Announcements**
[^3]: Assign Servers to Takeout & Delivery Spots**
---
# Product Updates (4/21/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-4-21-25/
Description: Recent GoTab updates include time clock edit reasons, an All Tabs vs My Tabs display setting, Guest Mode Tap-to-Pay, and staff notes on products.
### Several updates have been made to the GoTab platform in the past few weeks, including efficiency improvements and tangible features. Here are a few you might have missed. (click the LEARN MORE link to open the corresponding Help Center and Knowledge Base article)
**Time Clock Edit Reasons**
When editing a time clock there is now a field to use to provide a reason for the edit. The edit reasons can be pre-populated to select from and will appear on the Labor Audit report.**[LEARN MORE](/operator/manager-dashboard/howtomanagelabor/)**
**All Tabs vs My Tabs**
There is now a display setting that will allow a POS display to default to either "My Tabs" or "All Tabs". Defaulting to "All Tabs" may be useful for devices that are being used to access multiple tabs not owned by the staff member (shared tabs, QR-initiated tabs, tabs started elsewhere).**[LEARN MORE](/operator/pos/pos-default-views/)**
**Guest Mode Tap-to-Pay**
When using the Pocket POS, Phone-Only POS, or any POS display terminal where Tap-To-Pay is enabled, Tap-To-Pay functionality is now available through the Guest Pay flow - allowing your guests to tap their payment directly to the display without the use of a separate credit card reader.**[LEARN MORE](/operator/managing-your-tabs/guest-pay/)**
Products in your Product Catalog are now equipped with Staff Notes - An internal product description field that can only be seen from the POS or the KDS. Useful for including information on a product that is only meant for your staff's eyes, like specific recipe instructions, plating or garnish notes, upselling suggestions, and more.**[LEARN MORE](/operator/menu-management/how-to-manage-your-product-catalog/)**
[^1]: Staff Notes - Internal Product Descriptions**
---
# Product Updates 4/27/26
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-4-27-26/
Description: Introducing invoice processing via opsi at no cost, plus a new Preferred Name field for users that displays across POS, receipts, and reports.
**Invoice Essentials**
Introducing a robust invoice processing tier from *opsi*, available at no cost. Upload your vendor invoices, and *opsi* processes them in minutes, extracting line items and preparing them for review and export to QuickBooks. No manual entry. No setup call. Just opsi doing the work.
You'll also get a spend dashboard showing vendor and category costs over time. And when you connect your GoTab location's menus and sales report, you can unlock a basic sales vs. spend view for a quick snapshot of cost percentages without setting up full inventory or recipe costing first.
[Sign up to start using the free service here](https://app.opsi.io/tryopsi).
**User Preferred Name Field**
A new field has been added to your user's profile called **Preferred Name**. The name filled in this field will show on the POS to show who is assigned to spots and tabs, customer receipts, kitchen chits, user reports, and Manager Dashboard Service Reports. Note: It is an optional field for each User, and if left blank, the First Name and Last Name will continue to populate in those areas as expected.

**Stay Updated**
In addition to these product update announcements via your Manager Dashboard, if you'd like to receive direct updates on feature releases, optimization recommendations, and all things related to the GoTab platform, [subscribe to the GoTab Newsletter](https://forms.fishbowl.com/form/014f68ee-35ff-40eb-aecc-a84db9436491) using this link.
---
# Product Updates (7/21/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-7-21-25/
Description: Upcoming GoTab updates include removal of the Manager Dashboard Classic View sales report and a new limited product availability indicator on POS buttons.
### GoTab's development team is constantly working behind the scenes to improve consistency and upgrade infrastructure to continue to help the platform grow and adapt. GoTab will be making an update early next week, which will include two noticeable changes
Manager Dashboard Sales Report
In an effort to improve efficiency, updates to the Manager Dashboard's Sales page will be made, and the "Classic View" option will be removed. Please contact your Account Manager if you'd prefer to keep access to the "Classic View".

In addition, the team is also working on implementing features and functionality requested by you, our operators. One such request is scheduled to be completed and added to the platform in an upcoming update set to release early next week.
Currently, if a product's stock level is set below 10, that information is exposed in two places:
1) A pill box next to the product name is shown to your guest viewing the product from the mobile or online ordering flow.

2) The number available is shown on the Product Info card, accessible by long pressing the POS button or tapping the info dot next to a product on the KDS chit

This information will soon be shown directly on the product button on the POS, located in the bottom left corner of the button. This will only show when availability is below 10. See the screenshot below for an example of what to expect. (Note: The number showing on the bottom right of the product button will continue to represent the number of items selected for the current order being built)

[^1]: Limited Product Availability on POS Buttons**
---
# Product Updates (8/16/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-8-16-24/
Description: Item validation on the POS now occurs in the background for faster order entry, with a yellow highlight indicating items pending validation before sending.
**Unsent Order Improvement**
The example video below demonstrates the brief yellow highlight over the items as we validate the item(s) in the background. This example is of a solid network connection but can be faster or slower, depending upon network connection speeds.
::video{src="/videos/optimistic_rendering.mp4"}
Sparing too many technical details, we are changing item validation (is the item in stock, orderable etc.) from the foreground as each item is added, to the background. This will increase the speed with which items can be added to unsent orders, particularly in instances where perhaps the network connection is less than ideal.
A yellow highlight will show over unsent items, as well as over any method of sending an order (Send & Pay, Send, Send & Stay and Auth & Send). Once all item validations occur, the yellow highlights go away and the order can be sent.

Please note that exiting out of a tab with unsent items (navigating to different tab, pinning out of POS etc.) will still leave those items unsent. If the items were being added to an already existing tab, the yellow dot indicator will still show to alert a server that item(s) are still unsent. If it was a lightning bolt quick order never sent, it will still show under PENDING until sent.

**Guest Mode Update**
Guest Mode is now a setting that can be toggled per individual display. Navigate to More--Settings--Display in your POS to toggle Guest Mode on or off. Don’t know what Guest Mode is? Click [here](/operator/managing-your-tabs/guest-pay/)to learn more.

Guest Mode can also be toggled on from your [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1) in the Manager Dashboard from the gear icon for each display.

---
# Product Updates (8/26/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/product-updates-8-26-25/
Description: Idle Quick Ordering (Now called Quick Order Menus) There is currently underutilized space to the right of your tabs list. Quick Order Menus will take advantage
### This week new functionality is coming to your POS. We are adding quicker access to your menus to start an order with Idle Quick Ordering. We have already added a Recent Tabs list that provides quick access to recently viewed tabs.
There is currently underutilized space to the right of your tabs list. Quick Order Menus will take advantage of this unused space and increase the speed with which you can be begin adding items to a new tab. All you'll need to do is to set a [Quick Spot ](/operator/pos/creating-a-quick-order/#quickspot)to take full advantage of Quick Order Menus.

**Recent Tabs View**
The recent tabs view allows you to quickly jump back to recently viewed tabs. 
This list pulls from any tabs recently viewed in the current POS session. The tabs are cleared from the list as you click back through the list, and when pinning out of the current POS session.
The recent tabs list is currently only released in the default view but is coming to mobile during the week of 9/1/25. This will change the behavior of the back button on mobile. Currently, the back button and the tabs list icon offer redundant functionality, as both navigate back to your tabs list. We are removing this redundancy by having the back button navigate back through recently viewed tabs, while leaving the tabs list icon to take you back your tabs list.

[^1]: Idle Quick Ordering (Now called Quick Order Menus)**
---
# Sales Page Updates (9/9/25)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/sales-page-updates-9-9-25/
Description: Today we released some improvements to your Sale Page in an effort to provide more clarity into your sales data. Your sales data has not changed, but we have ma
Today we released some improvements to your Sale Page in an effort to provide more clarity into your sales data. Your sales data has not changed, but we have made adjustments and added additional information directly to your sales page.
**What's New?**
- Reveal billing and chargebacks directly on your sales page.
- Added "Unmapped Sales" line. This reports any products mapped to the accounting group "Other" or any that have not yet had an accounting group set, making it easier in one view to see all incoming sales.
- Added a "Total" line that will match your Accrual Total on the Payouts Page.
- Added a drilldown to "Payouts Total" that provides a breakdown of what comprises your payout, and will match your payout on a given day.
- (Multi-location/menu sharing only) New way to view sales by tabs directly started on your location or by all sales from your any of your menus. The "All sales from your menus" view provides a complete view of sales from your location all the way down to payouts total, which will match the expected payout total. "Direct from location tabs" will still show just the sales data of tabs initiated directly from your location.
**Adjustments**
- Adjusted cart rule refund and fees reporting in "Adjustments" to allow simple subtraction from gross sales down to net sales. Previously, some instances potentially required specifically clicking into adjustments or discounts for additional information.
- Moved Total Tabs/Open Tabs/Cover Count filters from the top of the page to the right hand side, reducing scrolling.
- Moved "Cash Paid In/Out" from right hand side to its own line item below "Unpaid Sales".

---
# SMS platform transition (9/20/24)
URL: https://docs.gotab.io/operator/gotab-manager-dashboard-announcements/sms-platform-transition/
Description: GoTab has partnered with OpenPhone to ensure GoTab customers utilizing SMS messaging stay compliant with new, significantly more stringent industry standards an
### SMS platform transition
GoTab has partnered with OpenPhone to ensure GoTab customers utilizing SMS messaging stay compliant with new, significantly more stringent industry standards and regulations.
Starting September 30, 2024, our current SMS platform provider will begin blocking unregistered text message transmissions. This means that your assigned phone numbers will not be able to communicate with your guests about order confirmations, KDS ticket completion, or support two-way texting between you and your guests via the KDS and Manager Dashboard.* *This will not affect your ability to communicate with GoTab chat support via your KDS, Manager Dashboard or GoTab Manager App.
Why We’re Making This Change
Over the years, business-to-consumer text messaging regulations have become increasingly more complex. A combination of regulatory and telecommunications industry standards have solidified into a set of mandatory requirements for any business that engages in SMS communications with consumers. These new rules require all GoTab customers utilizing text messages to their customers to take action to become compliant.
In short, you will need to:
- Register your brand with the Campaign Registry
- Register separate campaigns for each type of messaging you send
- Gather opt-in consent from your consumers
- Honor opt-out requests from your consumers
GoTab has prepared for this change and simplified the steps you need to follow to remain in compliance, receive better message deliverability rates and build trust with your guests. As a result, there are several changes coming soon in how GoTab and you communicate with your guests.
GoTab and OpenPhone Partnership
GoTab has partnered with OpenPhone, a leading provider of business voice and text messaging solutions to ensure continuity of your existing customer SMS flow. By creating an account with OpenPhone, you will have a streamlined process to register and fully certify your phone number(s) to be in compliance with current requirements.
OpenPhone will guide you through a review conducted by The Campaign Registry, a third-party agency chosen by the major US cellular carriers, for a two stage review. Approval of your phone number(s) requires an EIN or other tax identification number to get started and involves completing a form with other business specific information. Once you complete your application, it generally takes 2-5 days for approval. Details about this registration process are provided below.
Key Deadline - Set Up Your OpenPhone Account by September 30, 2024
In order to continue the full two-way text messaging capabilities you have today, you must set up an active OpenPhone account no later than September 30, 2024. In preparation for this, we will activate the prerequisite consumer opt-in functionality in the GoTab QR ordering experience by September 30, 2024.
Managing Consumer Opt-Ins
Per the requirements laid out by CTIA (the wireless industry trade association), consumers must explicitly opt in to receive SMS communications from you, with the exception of 2-factor authentication use cases. GoTab will soon start sending text message consent prompts and we will also update the KDS and Manager Dashboard chat functions to reflect your guests' communication preferences.
What if I Can’t Meet the Deadline?
We realize you may not be able to adhere to this deadline for any number of reasons. If that is the case, GoTab will offer a grace period of 1 month from September 30 until October 31, 2024. During the grace period we will continue to deliver outbound text messages to your guests using GoTab's registered brand and campaigns. However, you will not have access to 2-way text chat with your guests from the KDS or Manager Dashboard. We will continue to send order confirmations and order fulfillment messages from a pool of phone numbers belonging to GoTab.
On November 1, 2024, GoTab will discontinue outbound messaging for operators who have not transitioned to OpenPhone.
Click [here ](/operator/integrations/openphone-account-setup/)for step by step instructions on how to create an OpenPhone account and register your OpenPhone number for business-to-consumer SMS compliance.
---
# GoTab Marketplace
URL: https://docs.gotab.io/operator/gotab-marketplace/
Description: Multi-operator features, shared menus, vendor fees, and multi-location management.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
GoTab Marketplace enables multi-operator venues — food halls, stadiums, and shared spaces — to manage multiple vendors, shared menus, and vendor fee remittances from a single platform.
---
# Multi-Operator Management: What is it?
URL: https://docs.gotab.io/operator/gotab-marketplace/multi-operator-managementarticle/
Description: GoTab’s Multi-Operator feature allows locations operating with multiple tenants to use one QR code, enacting a seamless ordering process. Each vendor will indiv
1. Food Halls
2. Entertainment Venues
3. Food Truck Events
4. Any multi-unit restaurant venues
1. Guests are able to scan and order on one QR code that showcases all vendor menus for the operation.
2. Guests will pay for their tab, leaving an overall tip to be allocated by percentage of sales to each vendor.
3. Vendors will only be able to view, prepare and fulfill their menu items. (They are also only able to manage their products on the KDS)
[^1]: GoTab’s Multi-Operator feature allows locations operating with multiple tenants to use one QR code, enacting a seamless ordering process. Each vendor will individually manage their products and menus on their own dashboard. In addition, vendors will have access to only their own sales and tabs, while also receiving their payouts directly with their vendor allocations already deducted and paid to the parent location. **
[^2]: What qualifies as a "Multi-Operator?"**
[^3]: Our Multi-Operator feature allows all tenants to operate in tandem giving guests the ultimate ordering experience. **
---
# Multi-Operator: Vendor Fees (Remittances): What is it?
URL: https://docs.gotab.io/operator/gotab-marketplace/multi-operator-r/
Description: GoTab allows multi-operators the option to allocate percentage of sales or tips from vendors to the master location.
## GoTab allows multi-operators the option to allocate percentage of sales or tips from vendors to the master location.
GoTab uses the term "remittance" to properly allocate vendor's funds to master locations. GoTab can set up these remittance terms to take percentage of sales, tips, or zones.
A remittance can look something along the lines of the following:
1. At Dave's Food Hall, all vendors will remit 10% of overall sales to the food hall. Additionally, all vendors will also remit 15% of tips to the food hall to tip out the food runners employed by the food hall.
2. At Katrina's Food Hall, all vendors will remit 100% of dine in order tips to the food runners employed by the food hall.
3. At John's entertainment venue, 15% of card not present tips (anything ordered from a QR) will be remitted to the food runners at the venue. 100% of card present tips (anything ordered through a POS) will go to the vendors.
If you would like to speak with a team member about utilizing our multi-operator remittance feature, reach out to your Account Manager or GoTab Support at support@gotab.io.
---
# Multi-operator: interpreting vendor fees (remittances)
URL: https://docs.gotab.io/operator/gotab-marketplace/multi-operator/
Description: How do I view remittances?
## How do I view remittances?
There are two different ways remittances are viewed depending on who is looking at them.
The master locations sales page will contain the following:
1. Overall sales, taxes, and tips for the entire establishment for the date range selected
2. Sales by vendor by zone
3. Sales by vendor
4. Remitted Sales
5. Remitted Tips
The vendors dashboards will contain the following:
1. Only their sales, taxes, and tips
2. Only their remitted sales
3. Sales by zone
Remittances will be labeled on these dashboards by "Sales Remittances - Outgoing" or "Sales Remittances - Incoming."
- Sales Remittances - Outgoing: Remittances going from the vendor to the master location. (This will show on the sales dashboard under how much a vendor remitted as a negative amount)
- Sales Remittances - Incoming: Remittances shown on the masterlocation. (This will show under the sales dashboard as a positive amount for how much the parent location received)
When looking to view how much your payouts should be, we recommend viewing the accrual tab under the accounting page.
[^1]: Master Location (Food Hall, Arena, etc):** Will view remittances on the master locations sales page. The sales page will break down each vendors overall sales as well as any remittances to the parent location.
[^2]: Vendors:** Vendors will view their remittances under their individual dashboards. Their dashboard will show them how much they have remitted to the master location.
---
# Shared Menus: What are they and how do you set them up?
URL: https://docs.gotab.io/operator/gotab-marketplace/shared-menus/
Description: Shared menus allow multi-operators the ability for vendors to have complete control over their own menus on their individual manager dashboards.
## Shared menus allow multi-operators the ability for vendors to have complete control over their own menus on their individual manager dashboards.
Vendors will set up their menus in their own manager dashboards. They will then share these menus with the master location granting them access to use the menu. Once all of the vendors share their menus with the master location, it will create one seamless ordering experience for guests. Guests will be able to scan a QR code from the master location and order from all of the vendors menus at once!
To share a menu, navigate to the menu you wish to share.
- Click into the menu > Access > Copy the Menu UUID
- You will copy this to the master locations menus page.

You will have to accept access to allow the parent location to show your menu on their QR's. (Do this after the following step)
- To import a menu on the parent location, navigate to their menus page > import

You will paste in the Menu UUID you just copied from the menu.
Next, on the parent location, navigate to the menu you just shared, and select the zones the menu should be available in.

[^1]: Once this is done, all menus can only be managed in their respective location. Parent locations will not have access to manage these menus. *
---
# Integrations
URL: https://docs.gotab.io/operator/integrations/
Description: Connect GoTab to OpenTable, 7shifts, Restaurant365, Klaviyo, QuickBooks, and more.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Connect GoTab to the tools you already use — from reservations and staff scheduling to marketing, accounting, and third-party ordering platforms.
## Reservations
## Staff & Scheduling
## Marketing & Communication
## Accounting & Inventory
## Third-Party Ordering
---
# Set up 3rd party ordering
URL: https://docs.gotab.io/operator/integrations/3rd-party-ordering/
Description: Consolidate your DSPs (DoorDash, UberEats etc.) with GoTab's 3rd Party Ordering Integration.
## Consolidate your DSPs (DoorDash, UberEats etc.) with GoTab's 3rd Party Ordering Integration
This integration allows you to publish your GoTab menus to your chosen 3rd party delivery partners via an integrated order aggregator.
1. First navigate to your [Menus Page](https://manager.gotab.io/manager/menus?pick_loc=1)and create a single 3rd Party specific menu--add all of the categories you want available on your 3rd Party menu--toggle the menu on and click save. This single menu is the menu you'll use for all of your DSPs (UberEats, DoorDash etc.)

2. Next you'll want to create a managerial Stream User with control and manager permissions.
-This will require a spare cell phone number to receive the text and verify this user. Google offers one free Google Voice number with a GMAIL account so that is often easiest.
-Save this Stream User and never archive this user. This will be the user that keeps your location connected to the 3rd Party Ordering platform.

3. In a different browser than your regular GoTab user is logged in. Navigate to gotab.io/manager and verify your new Stream User.
4. This Stream User should now be verified and you'll be logged into the GoTab manager dashboard with this Stream User. In a new tab in this same browser, navigate to our [3rd Party Ordering setup link](https://gotab.streamorders.com/welcome).
5. You will then come to multiple screens to connect to GoTab/Your Point of Sale. Click connect on each instance.

6. After connecting GoTab/Point of Sale, you'll be asked to click **AUTHORIZE**. Click authorize and wait. You will be redirect back to the 3rd Party platform after a few moments.
7. Choose GoTab Location To Connect.
8. All of your***enabled***** **menus, their categories and associated products, will now be pulled in.
***Notes:***
-Tax inclusive products are not currently supported.
-Variable tax rates not supported. One global tax rate is required. Items such as gift cards (0% tax rate) would not be included in the 3rd Party Ordering platform.
-Menu schedules are pulled from your menu schedules set in GoTab. **IF**no schedule is set in GoTab, you must add menu hours within the 3rd Party Ordering platform in order to publish those menus to UberEats etc.
9. Add Tax Rate within 3rd Party Ordering Platform and Save.

***Notes:***
- Step 9 is very important. This ensures taxes are charged on takeout and delivery orders.
- If tax rate adjustment is needed, it must be made in the 3rd Party Ordering platform. We receive the tax rate from the 3rd Party Ordering Platform and that's the rate used for any 3rd Party Ordering orders coming into GoTab.
10. Edit your menus in the 3rd Party Ordering platform to publish to the UberEats, DoorDash etc. Perhaps there are size modifiers you don't want available for delivery or certain items you don't want to sell for takeout.
11. Remove any menus pulled in that will not be offered. Click the gear icon by the menu header and click DELETE on any menus that aren't to be offered.
**1. Assemble your login information for each delivery partner and click Connect Delivery Partner.

***Notes:***
***-The Adjust price % button allows you to charge more (or less) across the board for that partner.***
***-Adjustments up or down are also available on a per item basis, as well on the product within each DSP.***
2. Once connected, orders for that partner will be begin to flow to the 3rd Party Ordering immediately, with Grubhub as the only exception. Grubhub publishes every Tuesday so once you connect Grubhub, it will not be live until the following Tuesday.
Now that everything is connected, your DoorDash, UberEats etc. orders are facilitated through the 3rd Party Ordering platform into GoTab. From GoTab, you can view the orders in your POS and fulfill the orders on your KDS.
You'll see this tabs page with the associated 3rd party zone. Under payments and payment types, they're listed as API_Integration.

**FAQs**

***Q***: Should I turn off my 3rd Party Zone to Pause Orders?
[^1]: What is the 3rd Party Ordering Integration?**
[^2]: Enable and Configure GoTab to 3rd Party Aggregator**
[^3]: Connect 3rd Party Aggregator to DSPs
[^4]: Everything Is Connected. Now What?**
[^5]: Note: Payments and payouts for 3rd party ordering are handled 100% independently of GoTab.***
[^6]: Q: ***Where do I log into my 3rd party ordering platform account?
[^7]: A:***[https://gotab.streamorders.com/login](https://gotab.streamorders.com/login) (bookmarking link recommended)
[^8]: Q:*** Why was a guest's order rejected?
[^9]: A:*** Most commonly, a product is disabled/86d in GoTab and resyncing is not yet complete across all platforms.
[^10]: Q:*** I'm having trouble connecting one of my DSPs to the 3rd Party Ordering platform. What do I do?
[^11]: A:*** Click [here](https://intercom.help/stream-f226eb7e1191/en/collections/8562949-connecting-3rd-parties)for how-to's for each provider.
[^12]: Q:*** How do I edit my menus or hours in the 3rd Party Ordering platform?
[^13]: A:* **Click [here](https://intercom.help/stream-f226eb7e1191/en/collections/3499787-faq-s)for additional information on the 3rd Party Ordering menu management, hours managements etc.
[^14]: Q:*** Can I add this service automatic service fee on the 3rd Party Order Zone?
[^15]: A:***No you cannot. This will cause us to calculate a higher amount due for the order, which then leads to all orders being rejected.
[^16]: A:*** No. This will lead to orders failing to push into GoTab but will not stop guests from ordering on the 3rd Party Platforms. You must pause any or all 3rd Party menus/orders in your 3rd Party Ordering Platform.
---
# Connect your GoTab account with Klaviyo
URL: https://docs.gotab.io/operator/integrations/connect-klaviyo/
Description: Learn how to connect your GoTab account/s with Klaviyo for streaming in real-time customer events.
## Learn how to connect your GoTab account/s with Klaviyo for streaming in real-time customer events.
### Summary
GoTab and Klaviyo offer an integrated solution for operators to send real-time events related to guest behaviors. With GoTab connected to Klaviyo operators will be able to build customer lists and segments based on user behavior to strengthen guest relations, increase revenue streams and build greater guest engagement.
### Step One
**Create a Klaviyo Account**
If you do not already have a Klaviyo account or want to use a separate account for your GoTab customers, please navigate [here](https://www.klaviyo.com/?utm_source=0013o00002ZUzNrAAL&utm_medium=partner) to complete the registration. Once your account is created you will need to log-in to complete Steps Two and Three.
> Create a Klaviyo Account
### Step Two
- After you sign in to Klaviyo (Owner, Admin or Manager user permissions required) click your account name in the top right drop down and select Account.

- From the Settings dropdown, select API Keys
****
- Copy your public and private API Key

### Step Three
Once you have created and copied your API Keys, GoTab will need this to connect your account/s with Klaviyo. Manager permissions are required for the user to complete this step. Below are the options to configure multiple accounts.
- If you have multiple GoTab accounts and what to use the same keys for a single Klaviyo account repeat step three for each GoTab account.
- If you have a set of keys from multiple Klaviyo accounts, enter each set with the corresponding GoTab account.
[Complete the GoTab Integration page to connect your account/s](https://gotab.io/manager/integrations)
> Public keys cannot be used to access secure data in your account and are safe to share. Public keys are used when you need to track people and events.
> Private keys are stored securely in GoTab and not shared externally. Private keys are used for guest subscriber events in GoTab and synced with Klaviyo for marketing communications.
By default, Klaviyo will create a list called Newsletter, this list can be used but it is recommended a new list be created in Klaviyo call GoTab Subscribers. View this article to learn more about creating lists.
### Next Help Article for Klaviyo
- How to create lists in Klaviyo
[^1]: Copy your Public and Private API Keys**
[^2]: Enter your Public and Private API Key into GoTab**
[^3]: NOTE: I**f you need to update your keys just copy and past the new keys and press update. If you need to change your list press the refresh symbol and then select the list and press update.
---
# How do I Connect meez Recipes with GoTab
URL: https://docs.gotab.io/operator/integrations/how-do-i-connect-meez-recipes-with-gotab/
Description: Sync meez recipes with GoTab products to view ingredients and prep instructions from any GoTab Task Display.
## Sync meez recipes with GoTab products to view ingredients and prep instructions from any Task Display.
### Requirements:
- meez Business or Premium subscription
- manager user permissions for meez and GoTab
- GoTab kitchen and task display systems
### Recipe sync feature overview
GoTab and meez are uniquely connected through the recipes. Operators will create and manage their recipes within meez. When a recipe and the prep instructions are finalized, operators can sync it with a product in GoTab by adding a meez recipe ID. When GoTab and meez are synced, operators can reduce front and back-of-house pain points in one integrated solution.
Staff needing access to recipes can long press on an order from the kitchen display system (KDS) and select which task display system (TDS) or multiple should display the recipe. Operations with large square footage, complex events or multiple locations are able to increase labor efficiency, improve quality and deliver consistency. Additionally, every synced product can be viewed in the TDS without action from the KDS.
The instructions in this document assume an operator has already created recipes in meez and products in GoTab. If either of these actions have not been completed, please do so before proceeding.
### Step One - Share meez content using the view-only function
Grant users view-only access to your content, including individual or multiple recipes, recipe books, and Docs. When you do so, the receiver will see a live version of your content, including any updates you make. However, they cannot edit or change that content.
You can also grant view-only access to all of the content in a concept or location by adding the recipient as a team member. Learn more about concepts and team members [here](https://intercom.help/getmeez/en/articles/4527329-adding-concepts-locations-team-members).
GoTab recommends creating a generic user (e.g. Gotab Sync) which can be used to log-in and view-only recipes from the GoTab TDS. This practice will ensure any staff member accessing the TDS can view recipes without needing to log-in separately through meez.
#### Granting View-Only access from the Home Table Page:
1. To grant access to single item, go to the more menu to the right of the item
2. To grant access to multiple items, click the select box to the left of the items you'd like to share
3. To grant View-Only access from a Detail Page, go to the more menu (the 3 dots) at the top of the page in the navigation bar
### Step Two - Sync meez Recipe IDs with GoTab products
Within GoTab's product catalog, each product supports the manual entry of the meez recipe ID.
1. Select the product you wish to edit and scroll down to the field labeled by default YouTube URL. Select the dropdown and change it to meez Recipe ID.
2. Enter or paste the meez Recipe ID

#### Additional Info
- How do I add a Task Display System
- How do I view recipes from the KDS?
---
# How do I connect Restaurant 365
URL: https://docs.gotab.io/operator/integrations/how-do-i-connect-restaurant365/
Description: A tutorial for GoTab users needing to connect their account with Restaurant 365
## A tutorial for GoTab users needing to connect their account with Restaurant 365
### Before you Begin
To connect Restaurant 365 with your GoTab account you must first create your organization/s in Restaurant 365 via their [Setup Assistant](https://help.restaurant365.net/support/solutions/articles/12000041901-r365-setup-assistant).
The POS Integration section is where you begin integrating your organization's GoTab system into R365. Users can view the status of their GoTab Integration request and other key details, including the system name and last polling dates. Review the following links for more information on POS Integration with Restaurant 365:
[POS Integration: Setup Assistant](https://help.restaurant365.net/en/support/solutions/articles/12000065534-pos-integration-setup-assistant)
[POS Integration Settings Overview](https://help.restaurant365.net/en/support/solutions/articles/12000039232-pos-integration-overview)
[POS Integration Settings: POS Groups](https://help.restaurant365.net/en/support/solutions/articles/12000039236-pos-integration-settings-pos-groups)
### Step One - Configure your POS Integration in Restaurant 365
As an administrator or manager user for R365 login to your account and access Setup Assistant from the top navigation Administration dropdown.

### Step Two - Configure your POS Integration in Restaurant 365
Within Setup Assistant, select POS Integration > POS Request from the left navigation bar. If you have not already completed the Setup Assistant please follow the [steps documented by R365](https://help.restaurant365.net/support/solutions/articles/12000065534-pos-integration-setup-assistant). If your account has multiple locations you will need to complete these steps for each location.

### Step Three - Select and Verify your Location
1. Select the location you want to connect with GoTab.
2. Verify the Location Contact Information and the POS Integration Settings are correct. This information would have been complete during the Setup Assistant Export.
- POS Import Type - Sales or Sale & Labor
- Overtime Tracking - R365 OT Rules (required for GoTab)
- Sales Account Import Type - These options are very customer specific as it allows customers to choose whether they want to include Service Type (Order Mode…essentially Dine In vs Take Out vs Delivery, etc.), or Revenue Center (patio vs bar vs main dinning area, etc.), or the two combined in how we name the Sales Accounts that we create via the integration. Here is a R365 support article for additional information: Sales Account Import Types.

### Step Four - Authorize your GoTab Account
Within the location POS setup assistant screen (image above), click Authorize Application and Restaurant 365 will redirect to GoTab's authorization page.
1. If you are not already logged into GoTab Manager you will first verify your GoTab user account.
2. Once signed-in select the location Restaurant 365 needs access to for sales and labor data reporting. Click Authorize once your GoTab location is selected.
3. Upon authorizing Restaurant 365 you will be redirected to a new page that displays your GoTab locationUuid. Copy this number and paste it into your R365 POS setup assistant screen.
4. Save and Close the POS Setup Assistant and close out of any GoTab windows. Your integration is now connected.
---
# How GoTab supports 7shifts Tip Pooling
URL: https://docs.gotab.io/operator/integrations/how-gotab-supports-7shifts-tip-pooling/
Description: 7shifts tip pooling feature automatically imports sales data received by GoTab for wage distribution and reporting.
## 7shifts tip pooling feature automatically imports sales data received by GoTab tip wage distribution and reporting.
### Pre-requisites
- GoTab and 7shifts manager user access
- 7shifts tip pooling feature must be enabled and configured
- GoTab & 7shifts employee syncing must be enabled and complete
For more information about how to set up 7shifts Tip Pooling please reference their [product guide](https://kb.7shifts.com/hc/en-us/articles/4417505157779-Tip-Pooling) (https://kb.7shifts.com/hc/en-us/articles/4417505157779-Tip-Pooling)
POS integrated Tip Pooling is a newer feature supported by 7shifts and there may be references in their documentation indicating only select POS integrations are supported. GoTab is one of them even if the document states otherwise.
### Tip Pooling Feature Overview
When a tab (check) is closed in GoTab, the sales detail is exported into 7shifts. This means GoTab created a receipt in 7shifts to be referenced in various reports/features. The check details include line items, payment methods, tax amounts, fees/discounts applied, credit card tips, employee details and more.
{
"receipt_id": "GoTab tab_id",
"location_id": "7shifts location_id",
"receipt_date": "20221230",
"net_total": 2000,
"gross_total": 2500,
"total_receipt_discounts": 100,
"tips": 300,
"external_user_id": "GoTab user_id",
"revenue_center": "GoTab Zone Name",
"status": "closed",
"order_type": "dine_in"
"receipt_lines": [
{
"external_category_ids": ["GoTab category_id"],
"external_item_id": "GoTab product_id",
"quantity": 1,
"price": 2000,
"gross_item_price": 2000,
"net_item_price": 2000,
"item_discount": 100,
"status": "closed",
"created": "20221230"
}
],
"tip_details": [
{
"type": "total = CC Tips",
"value": 300
}
]
}
No additional configuration needs to completed in GoTab to "enable" tip pooling. The configuration happens when you connect the 7shifts integration and sync employees. To properly support the automated functionality of 7shifts tip pooling several components must be met. These components are discussed below.
#### Employee user mapping
GoTab employees must be synced with 7shifts employees. During the sync process, GoTab and 7shifts users are joined together by their unique identifiers (GoTab UserId + 7shifts EmployeeId). Now that 7shifts knows who our userId belongs to 7shifts can accurately connect the receipt details to the employee.
#### Employee Time Clock Management
To access the tip pool feature you will require 7punches for time clocking or an Actual Labor integration through different service provider. This feature relies on employees' worked hours in order to redistribute tips. Additionally, the user must be clocked-in during the time the receipt (tab) was created. This applies to the employee listed on the receipt (e.g. server) and employees assigned as part of the tip pool (e.g. kitchen staff).
#### Employee Scheduling
Schedules must be created and published for the timeframe of any receipt to be applied in the tip pool. If not schedule is set and/or now employees were clocked-in the tips will be distributed to an unassigned classification.
#### Employee Departments and Roles
Have Role and Employee mapping completed in 7shifts. This will ensure that Employees will be assigned the correct tips, based on their hours and Roles.
#### Additional Information:
- How to sync 7shifts and GoTab employees
- How to enable the 7shifts Integration
[^1]: Example check data sent to 7shifts:**
---
# How to Configure the BarTrack Integration
URL: https://docs.gotab.io/operator/integrations/how-to-configure-bartrack/
Description: Configure the BarTrack integration to pull order data from GoTab for inventory management and draft system optimization reporting.
## Bartrack is a one way integration that pulls order data from GoTab and outputs custom reporting in the BarTrack application.
### Integration Overview
Bartrack is an inventory management and draft system optimization software/hardware product suite that monitors tap efficiency and waste. The hardware component is a proprietary, non-intrusive beverage sensor installed on the beverage lines that measures transferred product volume and tap system conditions. This results in the best possible drinking experience for the customer, all while saying goodbye to foam-filled beers and adios to unaccounted pours.
By enabling the integration Bartrack will pull near real-time order data to ensure inventory and tracking reports are accurate and up to date.
#### How it Works:
In order to achieve this goal, BarTrack has developed a proprietary, revolutionizing technology which utilizes a non-intrusive beverage sensor that measures product volume and system conditions in real-time. When your integration is connected BarTrack generates data and analytics that provide establishments with greater insight into what was poured and what was sold—providing a detailed breakdown of where, when and under what conditions losses or increases occur.
By identifying the source of their waste so that the causes can be addressed and thereby increasing yields, mitigating loss, and running the business with improved operational efficiency. Our Daily, Weekly and Monthly reports breakdown keg yields and beverage costs, helping the customer make more informed and data-driven decisions to increase their bottom line.
#### Step One - Contact GoTab Customer Support
To enable Bartrack at your location/s, GoTab's customer support team must manually enable the connection. GoTab will provide BarTrack's onboarding support team with our location account name and location Id. Please email [support@gotab.io](mailto:support@gotab.io)
#### Step Two - Map GoTab products with BarTrack
Once the integration is connected, operators need to manually map their GoTab products to BarTrack products within the BarTrack application. BarTrack will pull closed order data throughout the business day and once a day as defined by the operator for the previous day’s reporting to account for any end of fiscal day adjustments.

---
# How to Connect OpenTable
URL: https://docs.gotab.io/operator/integrations/how-to-connect-opentable/
Description: Connect your OpenTable account with GoTab for reservation management.
## Connect your OpenTable account with GoTab for reservation management.
### Summary
Accept, view, and manage your online reservations all in one place so you can plan your shifts with ease., when you choose OpenTable, you can—
- Bring in higher paying guests
- Reach millions of online booker
- Make diner booking easy as pie
- Gain real insights into how your business measures up
### Requirements
- Manager access to GoTab
- Manager access to OpenTable
#### Step One: Log-in to OpenTable
If you already have an OpenTable for Restaurant account, [log-in](https://guestcenter.opentable.com/login) and select Integrations from the left hand burger drop down navigation menu. Search for GoTab under Point of Sale and select the tile. Start [here](https://restaurant.opentable.com/get-started/) if you need to sign up for an OpenTable for restuarant account.

#### Step Two: Connect with GoTab
In the lower right corner after opening the GoTab integration tile **select Connect**and then **select Sign-in to GoTab.**


#### Step Three: Verify your GoTab user account
OpenTable will redirect you to GoTab's verification page. If you are already logged into your GoTab account proceed to step four.
Enter your mobile number associated with your GoTab manager user account and the SMS verification code sent to your mobile number.

#### Step Four: Authorize OpenTable
Select your GoTab location from the dropdown and authorize OpenTable permission to view your location details. The location details will be used to map your GoTab account with your OpenTable account.

#### Step Five: Map your Accounts
After granting OpenTable access to your GoTab account you will need to confirm the location details for both accounts is correct. Once confirmed select finish.
This will ensure the proper receipt details are shared with OpenTable to map reservations with checks.

After successfully mapping your locations your integration between GoTab and OpenTable is complete.

#### Additional Information:
- How to sync GoTab spots with OpenTable
- OpenTable product integration overview
---
# How to sync email subscribers into Klaviyo
URL: https://docs.gotab.io/operator/integrations/how-to-create-lists-in-klaviyo/
Description: A Klaviyo list must be created to sync new email subscribers from GoTab into Klaviyo.
## A Klaviyo list must be created to sync new email subscribers from GoTab into Klaviyo.
### Summary
GoTab and Klaviyo offer an integrated solution for new email subscribers. When a guest navigates to an operators GoTab domain (e.g. gotab.io/demorestraunt), they have the option to subscribe for marketing communications on the homepage or during the checkout on a digital receipt. This article will aid in the creation of a new Klaviyo list that can be synced in GoTab for future marketing automation.
### Pre-Requisites
Before a Klaviyo list can be synced with your GoTab account make sure you have added your API Keys into GoTab. Please review and confirm the steps in this [article](/operator/integrations/connect-klaviyo/) have been completed before proceeding.
### Step One
**Create a Klaviyo List**
Once logged in to your Klaviyo account navigate to**Lists & Segments** on the left hand navigation pane.

In the**Top Righ**t select**Create List / Segment **and**select List**
****
****
Now. you are ready to configure your list.**First name your list GoTab Subscribers **and select Create List

### Step Two
Once the list is created, select**Settings**. By default, every Klaviyo list is set for Double opt-in. GoTab recommends changing the list settings to single opt-in. This will help ensure your new subscribers are automatically added in Klaviyo without the requirement of confirming in a email that may be sent to a spam inbox.
Be sure to save your changes by clicking**Update List Settings **at the bottom of the page.

Now your list has been created and all new email subscribers from your GoTab domain will automatically appear in this list for future marketing initiatives.
### Next Help Article for Klaviyo
- Connect your GoTab account with Klaviyo
[^1]: Update the Klaviyo List Settings**
---
# How to enable 7shifts Clock-in Enforcement
URL: https://docs.gotab.io/operator/integrations/how-to-enable-7shifts-clock-in-enforcement/
Description: Require employees to be clocked-in before they can access GoTab POS.
## Require employees to be clocked-in before they can access GoTab POS
### Requirements
- Manager access to GoTab
- Manager access to 7shifts
- Intervention with GoTab Customer Support
- 4 digit GoTab PIN length
**Important Changes**
1. When employees are synced their GoTab PINs will update to match the 7shifts Punch Id.
2. Users must clocked in/out using manual 7punches clock in or with GoTab direct 7shifts API
### Clock-in Enforcement Summary
When employee is set to require clock-in enforcement GoTab will verify the user is first clocked-in to 7Punches before allowing them to access the point of sale. A user will attempt to enter their POS PIN and receive an error instructing them to clock-in. The user will be directed back to the PIN in screen each time until they are successfully clocked-in through 7punches.
### How to configure each user for Clock-in Enforcement
Before you proceed to step 1 of this section the [employee sync](/operator/integrations/how-to-sync-7shifts-and-gotab-employees/) must be complete. Additionally, it is important to have 7punches installed and configured for your staff before this change is made.
#### Step One - Configure each user
Navigate to Users and select the 7shifts button next to Add New User. Within the modal select Manage Clock-In Enforcement.

Toggle on/off each user based your desired preferences. Select Submit and click X after the modal refreshes to exit.

To confirm your changes saved successfully open the Manage Clock-In Enforcement modal and verify each user is set correctly or update the user/s and submit the changes again.
Example error message when a user is not clocked-in attempting to PIN into GoTab POS.

### Additional Information
- How to sync 7shifts and GoTab employees
- Learn more about how GoTab supports 7shifts tip pooling
- How to enable the 7shifts Integration
---
# How to set up Google Redirect
URL: https://docs.gotab.io/operator/integrations/how-to-setup-google-redirect/
Description: Our Google Redirect integration allows the ‘Order Online’ button within Google to redirect your guests directly to ordering through GoTab.
## Our Google Redirect integration allows the ‘Order Online’ button within Google to redirect your guests directly to ordering through GoTab.
****
1. Contact your customer success manager to turn on Google Redirect.
2. Ensure you have an active Takeout and/or Delivery spot with an active menu.
3. Verify your location's support phone number and address match your Google profile.
This info is found in Location Settings--Edit--Edit Location in the manager dashboard.
4. Navigate to the Integrations Page and Configure "Order With Google".


5. Set the integration type to Redirect.
6. Set your Takeout Spot, Delivery Spot or both.
7. Click "Update" and "Enable".
Click [here](/operator/menu-management/creating-a-takeout-zone/)to learn how to create a Takeout Zone.
Click [here](/operator/getting-started/getting-started-creating-a-menu/)to learn more about creating Menus.
[^1]: Steps To Configure Google Redirect**
[^2]: Note: Verification is solely on Google. Verification can take a few weeks. Phone number and address matching simplifies the Google verification process.***
[^3]: Note: Once enabled, it will be activated once Google has gone through their verification process.***
---
# How to sync 7shifts and GoTab employees
URL: https://docs.gotab.io/operator/integrations/how-to-sync-7shifts-and-gotab-employees/
Description: Import employees from 7shifts into GoTab programmatically to help reduce redundancy, increase accuracy for sale/labor/tip reporting.
## Import employees from 7shifts into GoTab programmatically to help reduce redundancy, increase accuracy for sale/labor/tip reporting.
### Requirements
- Manager access to GoTab
- Manager access to 7shifts
- Intervention with GoTab Customer Support
- 4 digit GoTab PIN length
To complete your employee syncing setup GoTab customer support will set the type of employee syncing you prefer at your location/s. The options to sync employees are described below. Please reach out to our chat support to confirm which employee sync option you want each location to follow.
1. Sync employees automatically at 4am EST daily and manually
2. Only sync employees manually
### Employee sync feature overview
When employees are synced between 7shifts and GoTab, **the source of record is 7shifts**. By adding or updating your employees in 7shifts you will eliminate the requirement to create users manually in both platforms. Instead, you will only need to configure each imported GoTab employee user permissions and user roles.
**When an employee is imported from 7shifts one of two scenarios will occur.**
1. A new user will be created if there is no matching criteria.
2. An existing user will be updated if they meet the matching criteria.
**GoTab will match the following criteria before syncing 7shifts employee's.**
- Exact spelling of first and last name
- Mobile number
- 7shifts Company ID and Location ID
- The Company and Location IDs were originally mapped to the GoTab location when the 7shifts integration was first enabled. Check the [Integrations Page](https://gotab.io/manager/integrations) to confirm or update your location mapping.
- 7shifts employee type
- **Employee** maps to a **restricted** GoTab user
- **Assistant Manager** and **Manager** map to **unrestricted** GoTab users (i.e. permissions to access the GoTab Manager Dashboards).
- Punch ID
- An employees 7shifts Punch ID cannot match any other GoTab users PIN at the location.
**GoTab will add or update the following user fields synced from 7shifts.**
- Email Address (unrestricted users only)
- PIN (mapped to 7shifts Punch ID)
- If a user does not have a Punch ID the PIN will not be created or updated in GoTab.
- Once users are synced from 7Shifts, you can no longer set a pin for that user in GoTab. Their 4 digit pin is pulled in from 7Shifts and must be edited there.
- Employee ID
- 7shifts employee Ids are mapped to the GoTab user Id. This allows 7shifts Tip Pooling feature to work programmatically with GoTab.
> **GoTab POS PIN Entry**
>
> After a user is synced, their GoTab PIN will now be the same as their 7shifts Punch ID. **The user is not notified by GoTab their PIN has been updated.** If a user can no longer PIN into GoTab POS it could be they are using the old PIN prior to the 7shifts sync.
**GoTab POS PIN Entry**
After a user is synced, their GoTab PIN will now be the same as their 7shifts Punch ID. **The user is not notified by GoTab their PIN has been updated.** If a user can no longer PIN into GoTab POS it could be they are using the old PIN prior to the 7shifts sync.
### Step One - Manually Sync Employees (i.e import 7shifts employees into GoTab)
If your integration settings are configured for Automatic and Manual, the automatic sync will run daily at 4am EST.
1. Scroll to and select Users on the left hand navigation bar.
2. Select the 7Shifts button
3. Select Sync Users
4. A GREEN notification will appear if the import was successful. If a RED notification appears read the error and try again. If the problem persists please email or chat GoTab customer support.
### Step Two - Download Failed User Report
The failed user report list every user and reason/solution that should be taken to successfully sync the user next time. If there are no failed users a report will not download. It is recommended the failed user report be completed first before moving on to step 3. This will allow you to complete all user actions in step 3.
After the failed reasons have been corrected run sync users again and repeat the process if the report generates failed users again.

### Step Three - Complete User Sync
The complete user sync is the final process and requires you to assign GoTab user permissions and user roles. If no users need to be assigned roles or permissions and step 2 was complete no further action is required depending on the outcome of the next sync.
If you have not created user roles in GoTab please complete this step before proceeding. GoTab recommends at the very least to add all 7shifts roles that mirror a user role in GoTab. For example, Server should be added but HR coordinator should not.
The wage does not need to be set on GoTab unless you are using GoTab for some form of labor/payroll reporting.
1. Select the user you want to edit.
2. Depending on the action required, the user interface will vary to complete the user sync. When the user has been updated a GREEN checkmark will appear. Repeat sub-steps 1 and 2 until all users have a Green check mark.
3. Once you have finished updating the users in the Complete Sync List select X in the top right corner and close the modal. If you want to remove updated users from a partially completed list without closing the modal, press Re-Sync.
4. Close the 7shifts user sync modal.
The user sync between 7shifts and GoTab is now complete. If further action is required after another user sync, a RED ! icon will appear next to Users on the left side navigation. Successfully synced users will have a 7shifts icon next to their name.

#### Additional Information:
- Learn more about how GoTab supports 7shifts tip pooling
- How to enable the 7shifts Integration
[^1]: When an employee is imported from 7shifts one of two scenarios will occur.**
[^2]: GoTab will match the following criteria before syncing 7shifts employee's.**
[^3]: GoTab will add or update the following user fields synced from 7shifts.**
---
# How to sync GoTab spots with OpenTable tables
URL: https://docs.gotab.io/operator/integrations/how-to-sync-gotab-spots-with-opentable-tables/
Description: Sync GoTab spots with OpenTable tables for guest reservation and check mapping.
## Sync GoTab spots with OpenTable tables for guest reservation and check mapping
### Summary
The first, and most important step in the OpenTable integration is connecting a check (tab) to a reservation. OpenTable connects checks to reservations via table matching. The table names in OpenTable must match exactly to the Spot name in GoTab.
**IMPORTANT**
OpenTable only supports** four (4) character alpha/numeric table names** (e.g. 1, 01, bar1, etc.). If your Spot Names are longer than 4 characters in GoTab they must be changed to ensure OpenTable can connect checks with reservations.
When a spot name is updated in GoTab new QR codes and URLs are created. GoTab programmatically routes the old QR/URLs to redirect a guest to the new spot name. However, if may also consider printing new QR codes or updating any URLs for the spot.
If you have any questions or concerns about managing your spot names please contact [support@gotab.io](mailto:support@gotab.io)
### Requirements
- Manager access to GoTab
- Manager access to OpenTable
### Step One - Create Floor Plans
If you have not already created a floor plan in OpenTable please view their instructions [here](https://support.opentable.com/s/article/Adding-Copying-and-Adjusting-Floor-Plans-in-GuestCenter-1505261563862?language=en_US). If a floor plan is already active in OpenTable you may need to update the table names to match the Spot Names in GoTab.**OpenTable only supports 4 character alpha/numeric table names.** If your Spot Name is longer than 4 characters the spot name must be updated for any check to match with a reservation.
https://www.youtube.com/embed/SdHUDqvNX1I
### Step Two - Update Spot Names
As mentioned above table and spot names must match exactly. Continue to step three if your spot names match and meet the required 4 A/N character length.
1. Navigate to Zones in your GoTab manager dash and review each spot that can be reserved through OpenTable. Each Zone can be expanded to view the spot grouping and name.
2. After you select a spot group that needs to be adjusted there are two methods to edit the name. The Batch Name can be updated across all spots or you can select spots individually within the group.

### Step Three - Customize your table availability
Now that your tables and spots match you need to set which tables in OpenTable will be available to reserve. To customize your schedule, shift settings, and more navigate to Availability Planning within your OpenTable for restaurant account. Additionally, you can view the OpenTable [support documentation](https://support.opentable.com/s/article/Advanced-availability-setup-in-GuestCenter?language=en_US#A5) about table availability.
### Additional Information:
- How to Connect OpenTable
- OpenTable product integration overview
---
# Set up OpenPhone account
URL: https://docs.gotab.io/operator/integrations/openphone-account-setup/
Description: Signing up for OpenPhone is not a requirement for basic text functionality on GoTab. Our integration with OpenPhone offers increased visibility and functionalit
Signing up for OpenPhone is not a requirement for basic text functionality on GoTab. Our integration with OpenPhone offers increased visibility and functionality directly through OpenPhone. Check out their features and pricing [here](https://www.openphone.com/pricing).
If you'd like to take advantage of the additional business benefits and features OpenPhone has to offer and utilize our integration with OpenPhone for your guest SMS messaging within the GoTab platform, you must do everything below in order to be compliant SMS messaging laws and regulations.
### What Do I Need To Do?
1. Click here to sign up for a Starter level account with OpenPhone. Below we have step by step instructions on the OpenPhone sign up process.
2. Complete the brand and campaign registration process through OpenPhone. Below we have step by instructions for the SMS number registration process.
3. If you wish to communicate with guests with international phone numbers, learn how to do so here.
4. If you have multiple store locations, you only need one OpenPhone account, but each store will need a dedicated phone number, you may need a shared phone number.
5. Only after you have received confirmation from OpenPhone via email or are seeing your SMS campaign registration from Step 2 showing all verified and approved, please contact your dedicated GoTab Account Manager. Please provide your account manager your approved, registered OpenPhone number and API key (Steps 12 and 13 of SMS registration).
Steps 1,2 and 5 are the *minimum *steps required to continue with your current GoTab SMS functionality.
**OpenPhone Account Creation**
Step 1- Add an email address and verify with the 6 digit code sent to that email address.
 
Step 2- Click For Business and Enter Business Information.
For now, most will choose "Just Me" and "My Team" and leave the "Allow Anyone" unchecked at the bottom. Adjustments and additions to your account can be made after the account is setup.
 
Step 3- Verify with a mobile number.

Step 4- You now have an OpenPhone Number. Click Continue.

Step 5- Choose Starter Plan and Payment Info.
Both the Starter Plan and Business Plan will work with GoTab. The Starter Plan is the minimum needed in order to continue with SMS functionality within GoTab.
 
Step 6- Click "Skip for now" on Invite your team screen.

Step 7- Add password to your OpenPhone account.

This completes the OpenPhone account creation process and you'll now be on the OpenPhone home screen pictured below.

If your account was created under a free 7 Day Trial, you will have to click the "upgrade to a paid plan" first. Once on a paid plan, the "Register Now" will show.
****



Enter this exact message below.
"We are a restaurant and we send order confirmations, receipts, order status updates, links to redeem digital gift cards and coupons to our customers using SMS from our point of sale."


Enter these messages below with***your* **business name replacing the bracketed [your business name]. Please leave the [link] bracketed part of each message.
Example Message 1: "Your order is confirmed with [your business name]. Your receipt [link]. Text STOP to opt out, HELP for info."
Example Message 2: "Thank you for your gift card purchased from [your business name]. View and claim your gift card here: [link]"

https://gotabpublic.s3.amazonaws.com/gotab-sms-consent.png




After 1-2 minutes on the above screen and your Brand registration is still showing "In review", you can navigate away from this page.


You may use an email alias to create OpenPhone accounts for each location and then register each location for business-to-consumer SMS messaging. Most people can use [Plus Email addressing](https://kb.uconn.edu/space/IKB/10731880518/What+is+Plus+Email+Addressing+and+How+Do+I+Use+It%253F) whereby you can use one email address, with slight variations as aliases.
Example. You're the manager of 3 Knowledge Base locations and need to sign up, and register phone numbers for SMS compliant messaging for each location. You use the following email address knowledge.base@knowledgebase.edu for all locations but you need 3 different email addresses, one for each location to register.
When signing up with OpenPhone, the first Knowledge Base location email would be the actual email address knowledge.base@knowledgebase.edu.
Now, the second Knowledge Base location email is where we could start using the Plus Email addressing. We could type in knowledge.base+location2@knowledgebase.edu as our email address. It's still going to knowledge.base@knowledgebase.edu but we simply add the +location2 (or whatever is relevant for you) to make it an alias.
Proceeding with this example, we are now ready to sign up our third Knowledge Base location. This email address could be knowledge.base+location3@knowledgebase.edu.
Click [here](https://support.openphone.com/hc/en-us/articles/15519949741463-Guide-to-US-carrier-registration-for-OpenPhone-customers)for more information on why numbers now need to be registered for business-to-consumer text messaging.
[^1]: There is an option to port an existing number for your location after completing the OpenPhone account setup process.*
[^2]: Adding a password is optional. Skip and finish means you receive a text to login in lieu of a password.*
[^3]: Please note that this only completes the OpenPhone account creation process. Complete the registration steps below to become compliant with SMS regulations and industry standards. These steps are required in order to continue with business-to-consumer text messaging.*
[^4]: OpenPhone Number Registration for Text Messaging**
[^5]: Step 1**- Navigate to Settings--Trust Center--Register Now.
[^6]: Step 2**- Enter Your Business Registration Number (EIN)
[^7]: Step 3**- Complete Business Details.
[^8]: Please note that the information above needs to match**exactly **as it appears when registered. The review process is automated and seemingly minor discrepancies can be flagged. For example, if**Knowledge Base LLC** is the legally registered business name and** Knowledge Base, LLC** is entered above, the review will fail. In this example, we unintentionally added a comma that isn't part of the registered business name. *
[^9]: Step 4**- Enter Main Point of Contact Information.
[^10]: Step 5**- How Will Your Business Use Text Messaging?
[^11]: Step 6**- Provide Message Examples.
[^12]: Step 7**- Keep "I'll update an existing Privacy Policy" checked and click Next. GoTab has a written-in privacy policy already.
[^13]: Step 8**- Click Digital consent as method of collecting text message consent. Copy and paste the link below as where it asks for a link to the online form. This link takes you to a screenshot of our customer receipt page where guests opt-in for texts.
[^14]: Step 9**- Read and confirm by clicking the checkbox at the bottom that you will not engage in any SMS messages in violations of industry standards and regulations.
[^15]: Step 10**- Confirm registration fees and submit.
[^16]: Please note that the $19 one-time charge shows as two separate charges. One for $15 and another for $4. *
[^17]: Step 11**- Your registration is now in review. Wait on the screen shown below for 1-2 minutes while the quick initial automated review of your Brand registration takes place. This will find any smaller issues such as a typo or mismatched legal business name.
[^18]: Step 12**- Keep an eye out in your email inbox for any error notifications, as well as for a registration approval email from OpenPhone. You can also check the status of your registration but heading to Settings--Trust Center in OpenPhone, as well.
[^19]: Step 13**- Only after you received email confirmation of registration approval and see the above highlighted approved messages in the Trust Center of your new OpenPhone account, navigate to Settings--API API and click Generate API Key. Please provide your OpenPhone number and this newly generated API key to your GoTab account manager.
[^20]: Registering Multiple EINS? (Think regional manager of 3 locations)**
[^21]: IF**the above method does not work with your email provider, you may receive an error or message that the email address is unable to receive mail. You can also create multiple aliases for the same email address through your email provider. [Here](https://support.google.com/a/answer/33327?hl=en)is an example article from Google on what email aliases are and how you can create one in GMAIL.
---
# SMS Platform Transition
URL: https://docs.gotab.io/operator/integrations/openphone/
Description: GoTab has partnered with OpenPhone to ensure GoTab customers utilizing SMS messaging stay compliant with the new, significantly more stringent industry standard
## GoTab has partnered with OpenPhone to ensure GoTab customers utilizing SMS messaging stay compliant with the new, significantly more stringent industry standards and regulations.
**Why We’re Making This Change**
Over the years, business-to-consumer text messaging regulations have become increasingly more complex. A combination of regulatory and telecommunications industry standards have solidified into a set of mandatory requirements for any business that engages in SMS communications with consumers. These new rules require all GoTab customers to take action to become compliant.
In short, you will need to:
- Register your brand with the Campaign Registry
- Register separate campaigns for each type of messaging you send
- Gather opt-in consent from your consumers
- Honor opt-out requests from your consumers
GoTab has prepared for this change and simplified the steps you need to follow to remain in compliance, receive better message deliverability rates and build trust with your guests. As a result, there are several changes coming soon in how GoTab and you communicate with your guests.
GoTab has partnered with OpenPhone, a leading provider of business voice and text messaging solutions to ensure continuity of your existing customer SMS flow. By creating an account with OpenPhone, you will have a streamlined process to register and fully certify your phone number(s) to be in compliance with current requirements.
OpenPhone will guide you through a review conducted by The Campaign Registry, a third-party agency chosen by the major US cellular carriers, for a two stage review. Approval of your phone number(s) requires an EIN or other tax identification number to get started and involves completing a form with other business specific information. Once you complete your application, it generally takes 2-5 days for approval. Details about this registration process are provided below.
In order to continue the full two-way text messaging capabilities you have today, you must set up an active OpenPhone account no later than September 30, 2024. In preparation for this, we will activate the prerequisite consumer opt-in functionality in the GoTab QR ordering experience by September 30, 2024.
**Managing Consumer Opt-Ins**
Per the requirements laid out by CTIA (the wireless industry trade association), consumers must explicitly opt in to receive SMS communications from you, with the exception of 2-factor authentication use cases. GoTab will soon start sending text message consent prompts and we will also update the KDS and Manager Dashboard chat functions to reflect your guests' communication preferences.
We realize you may not be able to adhere to this deadline for any number of reasons. If that is the case, GoTab will offer a grace period of 1 month from September 30 until October 31, 2024. During the grace period we will continue to deliver outbound text messages to your guests using GoTab's registered brand and campaigns. However, you**will not have access to 2-way chat from the KDS or Manager Dashboard**. We will continue to send order confirmations and order fulfillment messages from a pool of phone numbers belonging to GoTab.
Yes. Beyond full compliance to continue sending SMS to your customers, an OpenPhone account also provides a number of other significant additional benefits including:
- AI message responses
- Port phone numbers from other carriers
- Auto-replies and scheduled messages
- Voicemail transcriptions
- Unified text messaging view between GoTab, your business, and your guests
- Streamlined brand and campaign registration on your behalf
Click [here](/operator/integrations/openphone-account-setup/)for step by step instructions on creating an OpenPhone account and registering your new OpenPhone number for business-to-consumer text messaging.
[^1]: Starting September 30, 2024**, our current SMS platform provider will begin blocking unregistered text message transmissions. This means that your assigned phone numbers will not be able to communicate with your guests about order confirmations, KDS ticket completion, or support two-way texting between you and your guests via the KDS and Manager Dashboard.* *This will not affect your ability to communicate with GoTab chat support via your KDS, Manager Dashboard or GoTab Manager App.
[^2]: GoTab and OpenPhone Partnership**
[^3]: Key Deadline - Set Up Your OpenPhone Account by September 30, 2024**
[^4]: What if I Can’t Meet the Deadline?**
[^5]: On November 1, 2024**, GoTab will discontinue outbound messaging for operators who have not transitioned to OpenPhone.
[^6]: Are There Other Benefits of OpenPhone?**
---
# OpenTable integration summary
URL: https://docs.gotab.io/operator/integrations/opentable-integration-overview/
Description: The integration between OpenTable and GoTab enables the two systems to communicate in real-time, streamlining the core information restaurants need.
## The integration between OpenTable and GoTab enables the two systems to communicate in real-time, streamlining the core information restaurants need.
With OpenTable, you can connect your tables and reservation data with your GoTab point-of-sale for a smoother-running, faster-turning, front-of-house. The integration gives you valuable insights into your guests’ spend, helps status tables, and highlights your revenue from each diner.
The OpenTable and GoTab integration is in BETA. If you are interested in using this new integration please contact opentable@gotab.io
### Restaurants using the integration can benefit from:
- Improved table turnaround times with near real-time updates, so hosts know the status of every table.
- Automated check (tab) creation once a meal is completed.
- Quickly viewing information on past visits including average spend, previous order info and more, allowing staff to provide a greater level of customer familiarity and hospitality.
- Interactive reports available anytime, anywhere, giving restaurateurs real-time access to restaurant performance, revenue, and more.
https://www.youtube.com/embed/eh0ShkXAaUI
### Automatically update your table statuses
The integration allows a table's status to automatically update in OpenTable for Restaurants to Appetizer, Entrée, Dessert, and Paid to help identify which tables will likely be available soon, helping hosts better plan for incoming reservations and waitlist parties.
- Manual Vs. Automated Status Update - look for the POS icon in the reservation history view. For example, when GoTab updates a table status to “Paid”, the table will turn light green, just like when a host manually makes the update.
- See how it works in OpenTable's video Auto statuses with POS Integrations.
- Setting courses in GoTab is currently not supported with the OpenTable integration. Checks will only update with a "Paid" status.
### View order details for current and past visits
Restaurants are able to view check details for current and past guest visits, allowing them to quickly learn more about their guests’ favorite menu items and provide more personalized service.
- Total Spend (including subtotal, tax, and tip)
- Ordered menu items
- Server name
- Date and time of POS check
- POS check number
- Details from past visits (in guest’s history tab)
Access check details by selecting the reservation and then tapping the total visit spend on the reservation card.
### View guest spending and get notified in real time when a spend threshold is reached
View real-time and historical guest spending directly on your floor plan in the OpenTable for Restaurants iPad or iPhone app.

### View real time guest spending on your floor plan
1. Open the OpenTable for Restaurants app on iPad or iPhone.
2. Navigate to Settings from the menu.
Enter your passcode if you have passcode protection enabled. Learn more in the article: Passcode protection for key features.
Select Preferences from the menu on the left.
Activate the option: Enable real time visit spend view on floor plan.
1. This must be activated for each individual iPad or iPhone.
This will display the current guest spend above each table when you view your floor plan.
1. If real time spend alerts are enabled, tables that spend over the spend amount you specify will be highlighted in green.
Get notified whenever a guest spends over a specified amount
1. Log in to the OpenTable for Restaurants website.
2. Open the menu and navigate to Restaurant Settings.
3. Select Notifications from the menu on the left.
4. Review the section underneath real time spend alerts.
5. Enter a spend amount in the box.
6. Save your changes.
7. Select the toggle next to real time spend alerts to activate the notification.
8. Verify on your iPad that Show pop-up notifications is enabled.
Open the iPad app, navigate to Settings, and then Notifications to access this option.
9. If it isn’t enabled, notifications won’t appear on the device.
#### View historical guest spending in the reservation listing
1. Choose the reservation in the Front of House list on the iPad app for OpenTable.
2. Tap the clock icon at the top of the reservation card to access the reservation and guest history.
3. Tap the Restaurant Activity tab to view the list of past visits, their party sizes, and the total visit spend.
4. Tap the bill total to view the POS check from that visit.
### Review POS details in Reporting
Owners and managers can dive deeper into their diners' spending as it relates to a diner's lifetime, a specific time frame, or specific reservations. This can better help restaurants identify their regulars and VIPs.
#### Guest frequency report
- Available details include: Total Spend, Tip Spend, Lifetime Total Spend, and Lifetime Tip Spend across a defined date range

Use the columns drop down to add POS details to a Guest Frequency Report.
#### Reservation report
- Available details include: Total Spend (specific to a single reservation)

Use the columns drop down to add POS details to a Reservations Report.
#### Guest spend tracking
- Available details include: Lifetime Spend and Lifetime per Cover Spend
- Included as part of the Guest Export functionality.
#### Track the revenue from your shifts
With the integration, owners and managers can quickly view the restaurant's revenue and check averages within the current shift or a past one. This allows them to compare revenue week-over-week and adjust planning accordingly.
- In the Stats view of the home screen, the Revenue section shows gross sales for the currently selected shift.
- A week-over-week comparison of same-day sales gives managers more context about today over history.
Tap on the Revenue section to see more details, including check average details showing the per-cover and per-party averages.

#### Additional Information:
- How to Connect OpenTable
- How to sync GoTab spots with OpenTable
[^1]: Above: **With the real-time spending view enabled, you can quickly identify the biggest spenders at your restaurant, identify tables that have hit spending thresholds, and receive in-service notifications when a table reaches a certain limit.
[^2]: Guest Spend notifications are currently only available in the iPad app for OpenTable.*
[^3]: Note:** Reservations that do not have a matched POS check won't show total spend data for that visit.
[^4]: Above:**The OpenTable owner app allows you to view the revenue totals for the shift using the Stats tab.
---
# How to enable the 7shifts integration
URL: https://docs.gotab.io/operator/integrations/setting-up-7shifts-integration/
Description: GoTab enables sales data to be viewed against sales, tip and labor tracking information in 7shifts.
## GoTab enables sales data to be viewed against sales, tip and labor tracking information in 7shifts.
### Requirements
- Manager access to GoTab.
- Admin access to 7shifts.
- 7shift "Entree Plan" or higher.
- GoTab as only POS integration to 7Shifts. 7Shifts cannot support multiple POS integrations to a location simultaneously.
Please contact your Customer Success Manager or GoTab chat support at Step 6 to finalize your 7shifts settings.
### Connect 7shifts with GoTab
To sync your daily sales from GoTab into 7shifts, access must be granted by a 7shifts user with manager account access.
1. Once logged into GoTab, navigate to the Integration Page search for 7shifts and select Configure.
2. Scroll to the bottom and select Connect with 7shifts. This will redirect you to 7shifts login page.
3. Login to your 7shifts account. If prompted, grant GoTab access.
4. Upon a successful login and after GoTab has been granted access you will need to map your 7shift location with GoTab. A Company GUID will auto populate in the GoTab, 7shifts integration configuration up page after you select the account from 7shifts.
Select the Company ID and Location ID from the dropdown box. If you have multiple Companies set up in 7shifts please use the location ID that maps to GoTab location you are currently logged into.
Select **Update** 7shifts from the Integration page and now both platforms are connected. If you have other locations please repeat these steps for each location. To confirm your location is successfully enabled you will see the following integration tiles in GoTab and 7shifts.

Contact your Customer Success Manager or GoTab chat support to finalize your 7shifts setup.
If you'd like to enable clock in/out directly from your GoTab POS with our new direct 7shifts API, please verify that all user roles match roles in 7shifts and are assigned in both GoTab and 7shifts.
Once the user roles match and are added accordingly, please provide the following information.
1. Do you declare tips on clock out?
2. Called "grace period", how long before a shift can a user clock in without a manager? (0, 5, 10, 15, 30 or 60 minutes or no constraint)
3. Called "late tolerance", how long after a shift is supposed to end does a user have to clock out? (0, 5, 10, 15, 30 or 60 minutes or no constraint)
4. Do you allow employees to clock-in when not scheduled?
With this information, GoTab will finalize your location settings by setting the external labor to direct to 7 Shifts and then you are good to go.
***Notes:***
***-You can change any of above settings for tips declaration etc. after the initial setup by GoTab from the Labor page in your GoTab Manager Dashboard.***
******
***-If you want to use 7punches (7shifts clock in app) but do not wish to set the GoTab direct access step above, you may still manually clock in directly through the 7punches app.***
***-Clocking in/out must be same via the same method within a given shift. Whether an employee clocks in with the direct 7shifts API or 7punches, they must clock out via the same method.***
#### Additional Information:
- How to sync 7shifts and GoTab employees
- Learn more about how GoTab supports 7shifts tip pooling
---
# Setting up QuickBooks Online
URL: https://docs.gotab.io/operator/integrations/setting-up-your-quickbooks-integration/
Description: Our QuickBooks Online integration allows for your GoTab accounting data to automatically sync via daily exports of your accounting information directly into QBO
## Our QuickBooks Online integration allows for your GoTab accounting data to automatically sync via daily exports of your accounting information directly into QBO.
**Before Connecting QuickBooks**
1. Know that the GoTab/QBO integration only supports accrual accounting.
2. Prepare your QuickBooks Online side. Once QBO is connected, we automatically import allGL (general ledger) Codes from QuickBooks.
3. Contact your customer success manager to grant your location access to the QuickBooks Online integration and let them know if you'd like automatic (highly recommended) or manual data export.
**Connecting QuickBooks**
- Click on your Payouts page and click connect QuickBooks at the top. From here, you will be prompted for your QuickBooks credentials.

- Click the gear icon on the Payouts page to get to our new Chart of Accounts.

- Click over to Unmapped on the far right.

- Click the pencil icon on the relevant accounts and map them to their corresponding GoTab Accounting Group.

- As highlighted in the image below, you will need a "Customer" created within QuickBooks for any receivables. Receivables in GoTab are any tab(s) that are not paid by the end of the business day. Although you can simply call "GoTab" the customer in QBO, please note that it's not money owed from GoTab, but rather the total of all tabs on a given day that were not paid in full.

- Now the GL codes imported from QuickBooks Online are mapped, we can go through our chart of accounts. Net Sales--Autograt--Tax--Deferred Revenue--Receivables--Tips--Fees--Chargebacks--Processors--Other--Paid in/Out and assign the newly mapped QBO GL codes.
In the image below we show where we can set our newly mapped Draft Beers category to Beer* (the asterisk is how you know this is an account mapped to QBO). Because we chose to set it on the Draft Beers Category in the example below, it will automatically apply to all products in that category. If you instead had products within this category that you wanted to map to something other than beer, you would instead go item by item and choose the net sales account you want.

***Notes:***
- GoTab pulls all GL Codes from QBO. For any non-relevant codes, please ignore and do not delete or assign to accounting group.
- An asterisk by the account name indicates that this is an imported QBO GL Code and that a GoTab accounting group has been associated. The account then will also no longer show in unmapped. In our Beer example, you now see it is showing under Net Sales with an asterisk denoting it's mapped and connected to QBO.
- A red asterisk and an account still in unmapped denotes a QBO GL Code but no corresponding GoTab accounting group has been set.
- QBO integration is not dynamic. If changes are made in QuickBooks Online, then you must reconfigure QuickBooks from the Accounting Page. Then, individually remap accounts in GoTab. It is highly recommended to completely configure QBO before connecting to GoTab.
- Be sure to select a QBO linked account for all options. Any unlinked will cause the data export to fail until corrected.
**FAQs**
Why did my QuickBooks export fail for a specific day?
What do I do if an export failed?
**
[^1]: Assign QBO GL Codes to GoTab Accounting Groups**
[^2]: Example: The pencil icon on the unmapped Beer account here then allows us to set the GoTab "Net Sales" accounting group for this Beer GL imported from QBO. *
[^3]: The most likely reason is that this day contained an option that is not linked to a QBO GL Code*
[^4]: Navigate to the Accrual section of your Payouts page and click the QuickBooks icon on the information card for the business day in reference. If something is unlinked, it will tell you what and provide you an opportunity to link to a QBO GL Code and then try the export again by clicking the QBO icon.*
[^5]: Note: A "last submitted" note beside the QuickBooks icon indicates a successful export. If "last submitted" does not show, then the export was unsuccessful for that day. ***
---
# SMS opt-in for guests
URL: https://docs.gotab.io/operator/integrations/sms-opt-in/
Description: In this article we will cover how guests opt-in for SMS messaging.
## In this article we will cover how guests opt-in for SMS messaging.
With the new SMS regulations, customers need to explicitly opt-in to text messaging by clicking a checkbox agreeing to be texted.
**How Guests Opt-In**
-For QR ordering, guests opt-in at checkout by clicking this checkbox above their phone numbers. This messaging is customizable and we'll cover how to adjust that later in the article.

-For Easy Tab/Phone Pass/Guest Info Prompt on the POS/CFD, guests do not need to explicitly click anything to opt-in. By letting them know they will receive a text at both the top and additional messaging at the bottom, the guest is providing consent to SMS messaging.

-On the KDS, you can click the 3 dots on a ticket to see if a guest is opted in or out for SMS messaging. The bell icon with a slash through indicates a guest has opted out of messaging. Otherwise, the normal texting functions will show.

-Navigate to your [Subscribers Page](https://manager.gotab.io/manager/subscribers?pick_loc=1) in the GoTab Manager Dashboard and click the pencil icon on Order Updates.

-Add a description. This description shows above the checkbox more thoroughly describing what a guest is opting into. We're recommending to add that this is not a marketing list and it's purely for notification when an order status updates. 
-Click over to Opt-in Text and add a brief message that will go beside the checkbox guests click to opt-in.

-From here, click submit and your SMS Order Updates messaging is complete.
**FAQS**
Please note that only guests that once explicitly opted in and then opted out are reflected here. If a guest orders and simply doesn't click checkbox to opt in, they will not be reflected on your Order Updates Subscribers.

*-Guests can text ***START*** to your registered OpenPhone number to opt back in to SMS messaging.*
*-Guests can also open a past receipt from the their GoTab Customer Account at gotab.io/cust/account for your location and click the checkbox to opt-in as they would have during the checkout process shown above.*
*-They can also opt-in during their next order at checkout by clicking the checkbox to agree to SMS messaging. *
[^1]: Customize SMS Opt-In Messaging**
[^2]: Q: Where can I see who has opted-out? *
[^3]: A: On the KDS follow the instructions above to see if a guest is not opted-in. You can also find this on the Subscribers Page of the GoTab Manager Dashboard.*
[^4]: Q: How Can A Guest Opt-In Who Previously Opted-Out or Skipped Opt-In*
[^5]: A: There are a few ways to achieve this.*
---
# Event Deposit in TripleSeat
URL: https://docs.gotab.io/operator/integrations/tripleseat-event-deposits/
Description: Learn how to create, pay for, sync, and redeem TripleSeat event deposits within GoTab.
- Begin with your normal event creation flow in TripleSeat, entering all required information for your event.
- Be sure to input the required deposit amount in the deposit field (deposits taken outside of this process will not be pulled into GoTab)

**Manual Deposit Payment**
- After you have created your event, it is time to pay for your deposit.
- Click into the “Payments” tab for the event and on the right hand side of the “deposit amount” row, click the wheel and then select “Pay”

- Select the type of payment method for your deposit (e.g. Cash, Card, Check) and make the payment against your deposit.
- The deposit will now show as “paid” under the “payments” tab. Now your deposit will be synced with the GoTab system and you’re ready for your event!
**Credit Card Deposit Payment**
- If you use credit card payments in TripleSeat, send the payment link to the event organizer through your normal communication channel.
- Once the event organizer has submitted credit card payment through TripleSeat, the deposit will be marked as “paid”

- In most cases, no action is required from the operator to sync deposits as GoTab automatically syncs deposits every 4 hours.
- If an event is created in TripleSeat and scheduled to occur in less than 4 hours, the operator will need to manually sync your deposits (details below).
- Navigate to the Processors Page in your GoTab Manager Dashboard
- Select the “Manage Accounts” under the “Tripleseat Deposit Processor” account
- Click the blue “Sync Tripleseat Deposits” button

- From the GoTab POS, open a tab for your event and search for the “TS Event” button
- Select the date range to search for your event, including the name (if necessary)
- Find your event and click on the event card, then click the “select items” button below
****
- A new window will appear with all items listed on the TripleSeat BEO. To add these to your tab, simply click “Select All Items”.

- Now each item and their corresponding price will now show on your tab.

* **NOTE: From this point, you are able to add any additional items from your product *
*catalog. *
- From your tab, select either “Send & Pay” or just “Pay”
- Select the “Event Deposit” tender
- In the new window, type the name of your event and select the corresponding deposit card, then click on the “Pay with [name of event]” button at the top.

- Once the deposit has been applied, you will see the deposit amount deducted from your open tab.
- From this point, you can continue adding items to your event tab. When it’s time to close out, simply run the guest’s credit card just like a normal tab.
****
- One of the two "in-store" payment methods are selected. We cannot pull deposits in paid to these methods so please choose one of the other payment methods listed.

- A deposit is not marked as paid in Tripleseat. Only deposit marked as paid within payments on the event in Tripleseat get synced.
- The event is too far in the future. We default the integration to pulling in events within the next two weeks. This setting can be turned off to pull events from even further in the future at a location's request.
- The event name is too long. This should be relatively brief, rather than potentially a paragraph about the event.

[^1]: Step 1: Create Deposit In TripleSeat**
[^2]: Step 2: Pay for Deposit In TripleSeat**
[^3]: Syncing Deposits from TripleSeat to GoTab**
[^4]: How To Manually Sync TripleSeat Deposits:**
[^5]: Redeeming Event Deposits from GoTab POS**
[^6]: Step 1: Create Event Tab and Pull In Items from BEO**
[^7]: NOTE: If you do not want to add all items, you can select only the items you want to add by manually clicking only those items. *
[^8]: Step 2: Apply TripleSeat Deposit to Event Tab**
[^9]: Why is there a deposit not syncing with GoTab?**
---
# KDS, Printers & Displays
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/
Description: Set up kitchen display systems, receipt printers, task displays, and additional screens.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Everything you need to set up and operate your kitchen display systems, printers, task displays, and additional screens at your GoTab location.
## Setup
## KDS Operations
## Printers & Guest Communication
---
# Auto-text on fulfillment
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/auto-text-on-fulfillment/
Description: You can configure your KDS to auto-text customers upon fulfilling an order.
## You can configure your KDS to auto-text customers upon fulfilling an order.
To configure auto-text on fulfillment at your location, navigate to your zones.
1. Find the zone you want to configure this setting for and click on the zone settings
2. Select "Yes" on the "Automatic Order Fulfillment Text"

3. Navigate to your Display settings or KDS settings
4. **Display Settings:** Click on the gear icon next to the display of your choice and toggle on "Auto-Text On Fulfillment" 
4.** KDS Settings:** Under *Orders & Fulfillment*, toggle on "Auto-Text On Fulfillment"
When this is configured correctly, upon fulfilling a ticket on your KDS, a guest will automatically be sent a message letting them know their order has been fulfilled.
To learn how to change the default messages that are sent upon fulfillment, click [here](/operator/manager-dashboard/how-to-create-custom-messages/).
---
# Displays: How to receive a new activation code
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/displays-how-to-receive-an-activation-code/
Description: If your device is asking for a 6 digit activation code, you can quickly grab one from your GoTab Manager Dashboard. Activating a point of sale as a payment t
If your device is asking for a 6 digit activation code, you can quickly grab one from your GoTab Manager Dashboard.
- Navigate to the Display Page on the Manager Dashboard.
- Then, find the device you need an activation code for and press "reset code." This will give you the activation code for that device.Note: An activation code is valid for 15 minutes. If you miss the 15 minute window, simply press "Reset Code" again for a fresh activation code.

Activating a point of sale as a payment terminal provides you a QR code with an accompanying 4 digit activation code. [Click here](/operator/pos/activate-gotab-pos-app-payment-terminal/) for an article on activating the GoTab POS app on your POS as a payment terminal.
---
# How to set up a display system
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/displaysetup/
Description: In this article we'll cover how to activate a non-payment terminal display system.
## In this article we'll cover how to activate a non-payment terminal display system.
### Note that this display system setup is most common for the kitchen display system (KDS). GoTops can run a version of the POS/CFD but only for non-payment terminal displays.
You can download the GoTops app, dependent on the operating system of the device, at the following:
Android - [gotab.io/android/gotops](http://gotab.io/android/gotops)
Windows - [gotab.io/windows/gotops](http://gotab.io/windows/gotops)
Macbook- [GoTab.io/mac/gotops](http://gotab.io/mac/gotops)
IOS - Use the Apple store and search "GoTops"
Step 1: On your Manager Dashboard, navigate to your [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1) then press + New Display System.
Step 2: Choose your Display Type (KDS is most common display type utilizing GoTops)

POS Setup Only: Choose either a Main Display or a Customer Facing Display.

Step 3: Once you have successfully set up a new display, you will see an activation code appear:

Step 4: Choose your device type:

Step 5: Input the activation code on your device:

---
# KDS: EXPO vs PREP mode
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/expo-vs-prep-mode-on-your-kds/
Description: EXPO: When your KDS is set to EXPO, that means that you have the ability to view all orders across all zones (i.e. Bar, Kitchen, Upstairs Bar, Etc.) Typically,

---

To set your KDS to view a specific station only, click the menu icon (upper left) and toggle the preferred station on.

[^1]: EXPO: **When your KDS is set to EXPO, that means that you have the ability to view all orders across all zones (i.e. Bar, Kitchen, Upstairs Bar, Etc.) Typically, an operator will have someone manage the EXPO KDS and fulfill tickets as they go out to the tables.
[^2]: PREP:**When your KDS is set to PREP mode, that means your specific KDS is meant to only view certain stations (i.e. Bar, Kitchen, Coffee, Etc.)
---
# How do I add a Task Display System
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-do-i-set-up-task-display-system/
Description: Create a task display in GoTab and pair it with a Kitchen Display for recipe management.
## Create a task display in GoTab and pair it with a Kitchen Display for recipe management
The first step is to create a task display:
1. Navigate to the "Displays" page in the Manager Dashboard.
2. Press +add new display system
3. Choose "TDS"
4. Name your task display
5. Press "save changes" and your activation code will populate
6. Input the activation code into your display. To learn how to download GoTab displays on your smartphone or tablet, click here.
7. Once your TDS is activated, navigate to the KDS you are pairing it with.
8. Navigate to your KDS settings
9. At the bottom of the screen, you have the option to pair the KDS to your task displays.
Once you pair the TDS with your KDS, you can begin using our recipe management. Click here to learn more.
---
# Task Display: How do I view recipes from the KDS?
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-do-i-use-the-task-display-to-view-recipes/
Description: After you pair your Task Display with a KDS, you can begin viewing recipes.
## After you pair your Task Display with a KDS, you can begin viewing recipes.
- The first step in using your task display will be ensuring your products are correctly linked to YouTube™ videos or the meez integration is enabled at your location.
Learn how to link your products.
- Learn more about the meez integration.
- Learn how to pair your KDS to a Task Display.
---
To begin using the task display, open up your KDS and Task Display.
- On the KDS, press and hold a product
If multiple task displays are linked to a KDS you will be prompted to select one or multiple.
On your task display, the recipe will automatically pop up.

[^1]: The second step** will be ensuring your KDS and Task Display are paired correctly.
---
# KDS: Closeout Report
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-to-close-out-from-your-kds/
Description: You can print a closeout report directly from your KDS.
## You can print a closeout report directly from your KDS.
Press the three lines on the top left corner of your KDS.


---


---
# KDS: How to reach out to GoTab support
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-to-reach-out-to-gotab-support-from-your-kds/
Description: You can reach GoTab Support via our chat bubble from the KDS or the manager dashboard any time.
## You can reach GoTab Support via our chat bubble from the KDS or the manager dashboard any time.
To start a new chat with our support team, click on the blue chat bubble, select New Chat and enter your topic. Once done, you can compose your message and one of our support staff will respond. Once you have started a chat, you can check back for responses by clicking back into the blue chat bubble.

You may also call or text our support phone any time at (703) 552-4690.
---
# KDS: How to set up batch orders
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-to-set-up-batch-orders/
Description: Enabling batch orders makes it easy for staff to see what orders (within x seconds) are at the same table.
## Enabling batch orders makes it easy for staff to see what orders (within x seconds) are at the same table.
Batch orders are designed to make the delivery of food/drinks to your dine-in customers more efficient. The way it works is you first set an amount of time (in seconds) that you want your orders to be grouped by. For example, if I set my batch time to 600 seconds that means that any orders from the same table (but from different people) within 10 minutes will be batched together.
---
### Step 1: Set your batch time

---
### Step 2: Enable it on your KDS
### See it in action!

---
# KDS: How to sort items on your tickets
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-to-sort-items-on-the-kds/
Description: You can sort items on the KDS or printed tickets by navigating to Location Settings--Edit--Display Settings in the manager dashboard. You will then scroll down
You can sort items on the KDS or printed tickets by navigating to[Location Settings](https://manager.gotab.io/manager/location-configs/location?pick_loc=1)--Edit--Display Settings in the manager dashboard.

You will then scroll down to Display Settings > "KDS/Chit Sort Order"
You have the following options to sort Items on the KDS:
- Alphabetical - Products displayed A-Z
- Chronological - Products displayed in the order rung in
- By Prep Time: Ascending or Descending - Longer prep time items to shortest or shortest prep time items to longest
- By Category - Products displayed in the same order as the Product Catalog, grouped categories
- By Seat- Products are grouped by seats (shown below)
[](#byseat)
---
# KDS: How to text a guest and view old messages
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/how-to-text-a-guest-from-your-kds/
Description: KDS: How to text a guest and view old messages
### Step 1: Click the three dots on the order card

---
### Step 2: Click Custom Chat

---
### Step 3: Send canned messages or initiate a custom chat

---
### Step 4: Chat away!

#### To view all of your previous messages, click the yellow chat bubble.

---
# KDS: Display functionality
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-display-functionality/
Description: Print On Fulfill You can configure a KDS ticket to automatically print the ticket when the order or product is fulfilled by turning on print on fulfill. If prin
**Print On Fulfill**
You can configure a KDS ticket to automatically print the ticket when the order or product is fulfilled by turning on print on fulfill. If print on fulfill is off, the ticket will print when the guest places their order. In addition, if print on fulfill is off, and the order is takeout, it will fire once it is ready to be prepped.
Print on fulfill is useful for high-volume restaurants and breweries. If 50 people enter the bar at the same time, in theory, all guests can place orders simultaneously.
**KDS Search Functionality**
By pressing the magnifying glass icon on the bottom right of the screen, a pop-up to search for tickets by tab name, spot, or server name will appear.
The KDS search functionality will:
- Query results across the entire day and across both fulfilled and unfulfilled tickets
- Search will only be available on expo screens

**Multi-Items Panel**
The panel shows multiples of the same items across all orders and all items on the screen. This can be turned off in the *KDS Settings* if an operator does not like this feature. **Note:**the multi-item panel does not display item notes or modifiers.
- To view multiples of the same items, click "multi-items."
- To view all items ordered on the screen that need to be prepared even if it's just one item, click "all-day."

**Read Only**
You may set a display to read-only.
- Click the ≡ > then toggle ON read-only
**Closeout report**
Once you access the closeout report you can view all items made for the day, the item subtotals, and tips. You can choose to view this report on the screen or print a physical copy.
- Click the ≡ > then hit closeout

**Waiting on other stations**
When tickets on the KDS say "Waiting on other stations" on the bottom after the ticket has been fulfilled, it is because other items on this tab have not yet been fulfilled. Those items must be fulfilled on their screen before this ticket completely goes away.
If another item on this ticket is routed to a "Default No print" station, an auto-fulfillment will need to be set up to have these tickets clear from the screen.
---
# KDS: How do I view modifier names?
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-how-do-i-view-modifier-names/
Description: Modifier Names can be configured to show underneath the order on the KDS. This allows kitchen staff to easily view where the modifier option belongs. To enable
Modifier Names can be configured to show underneath the order on the KDS. This allows kitchen staff to easily view where the modifier option belongs.
To enable modifier names, navigate to your KDS settings.
Toggle on "Show Modifier Names."

Your modifier names will now display above the modifier options:

---
# KDS multi select
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-multi-select/
Description: You can mass text multiple guests from the KDS. Use Case: To access this, click the pointer icon on the bottom right of your KDS, then select the guests’ tick
You can mass text multiple guests from the KDS.
**Use Case:**
- Send out a text about a product on multiple tickets that are delayed. (e.g. You need to switch the keg on your Stone IPA, send out a mass text to anyone who has ordered a Stone IPA to let them know there is a slight delay).
- Send a text about a kitchen delay as a whole. (e.g. The kitchen is running slightly behind schedule and has become overwhelmed, use this feature to let all of the guests with active tickets know).
To access this, click the pointer icon on the bottom right of your KDS, then select the guests’ tickets you want to send a message to.


---
# KDS: Settings overview
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-settings/
Description: This is how you can configure your KDS Settings.
## This is how you can configure your KDS Settings.
Please keep in mind that these setting changes are **SPECIFIC TO EACH DEVICE**
---
### How to access your KDS Settings:


There are 4 categories in your KDS settings:**Tickets, Orders & Fulfillment, Devices & Printers, and Audio**. See below for details about each category.

**Tickets**
- Show Modifier Names: Control whether the names of modifier groups appear on the KDS.
- Show Cover Count: With this on you can see the cover count for the Tab at the top of the ticket.
- Timer: Leave toggled off for a Countdown Timer or toggle on for a Count Up Timer.
- Yellow Timer Duration: Adjust the duration for the yellow timer. Adjusting this on Countdown Timer will automatically adjust the Red Timer Duration. With Count Up Timer enabled, you will also be given the option here to adjust the Red Timer Duration.
- Hide Items Until Time to Prep
- Highlight Items After Ready to Prep
****
**Orders & Fulfillment**
- Expo Station: Toggle ON, IF it’s the only KDS in operation at the venue or you are setting up the Expo station KDS
- Batch Orders: Orders from the same spot within this time will display together on the KDS.
- Bump Fully Prepped Items on Expo: When a station marks an item as prepared, on the expo the fully prepared ticket will move to the top of the KDS regardless of when the order was placed.
- Auto Text on Fulfillment: Customers will receive a text once their order is fulfilled letting them know it is ready. Great for pickup locations. This needs to also be toggled on the zone level as well - you can see which zones have this turned on currently here. Click here to learn how to turn this on at the zone level.
- Show Multi Item/All Day Panel By Default: This button is a way of configuring, upon opening the KDS, whether you see the duplicate orders drawer (blue drawer on the right side of the KDS) automatically or if you have to click it in order for it to be open. If enabled, the Multi-items bar on the KDS will appear by default. If disabled, it will appear collapsed by default.
- Show Held Orders: When coursing is enabled, you can choose to show or hide future coursed items. If coursed items are enabled to be shown, they will appear on the KDS and have a purple shading at the top of the ticket indicating they do not need to be prepped yet.
- Hide Scheduled Dine-In Orders: Hides scheduled dine-in orders from appearing on this display
- Show up to (Scheduled Orders): How much time do you want in advance for a scheduled order to display (i.e. 1 hour, 1 day, 5 days, etc.)
- Hide Overdue Orders After: You can hide orders once they are overdue

**Devices & Printers**
- Fulfillment Printer: Choose the printer you would like fulfillment tickets to print to
- Closeout Printer: Choose the printer you would like your closeout receipt to print to
- Pair to TDS: Pair your KDS to a Task Display System. To learn more about TDS, click here

**Audio**
- Alert Tone for Incoming Orders: Click the dropdown to choose an alert tone for incoming orders
- Inactivity Warning: This will let you know that an order has been unfulfilled or unattended for the duration of your setting. Essentially, the KDS will make noise for X seconds if an order is unfulfilled.
- Unread Chats: This will alert you that there are unread messages in chat at set intervals
---
# KDS: Takeout
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-takeout/
Description: When viewing takeout tickets on the KDS, you may see they have different functionalities. Takeout tickets will show the time the takeout is scheduled for as we
When viewing takeout tickets on the KDS, you may see they have different functionalities.
Takeout tickets will show the time the takeout is scheduled for as well as when the ticket will be interactive.

It is important to note you cannot text a guest from a **POS initiated** takeout ticket. Even though you input a phone number when starting this order on the POS, our system is unable to send messages to them. The guest will**only** receive a message once their order is dispatched and complete.
---
# KDS: Ticket functionality
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-ticket-functionality/
Description: Ticket Functionality [ ●●● ] On the KDS, when the display is in expo mode, there is greater functionality to engage with the the tickets. Texting Customers Al
**Ticket Functionality [ ●●● ]**
On the KDS, when the display is in expo mode, there is greater functionality to engage with the the tickets.

**Texting Customers**
In order to use the texting functionality, the guest must place an order on their phone. To text a guest, you will go to their ticket on the KDS screen and click ●●● . A modal will appear with different options.
- Text & Fulfill: This lets guests know their order has been completed and marks the ticket complete.
- Text - Order Ready: This sends the guest a text to let them know their order is ready. Keep in mind this does not fulfill the order on the KDS.
- Text see staff: This will send the guest a text to see the staff.
- Custom Chat: This allows employees to custom chat a guest.
All of these chats live in the yellow chat bubble.
**Prep All Items**
This will prep all items on the ticket. Each item will appear with a fork and knife icon symbolizing the item has been prepared. Note hitting prep all items will not fulfill the ticket.
**Print To**
If you would like to print a chit, you can direct the printing.
**Reset Order**
Hitting reset order will unmark any item marked as prepared or sent. This will not impact the ticket time.
**Rush**
This will send the ticket to the front of the KDS screen and display "RUSH" across the top to indicate to the kitchen staff the ticket needs to be rushed.
**Batch Orders**
Orders from the same spot ordered within a customizable time frame will display together on the KDS.
---
# KDS: Ticket timer
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/kds-ticket-timer/
Description: KDS Ticket Timer In the KDS, there are two ways to account for time. Operators can choose to use the countdown mode or count up mode [simple ticket timer]. The
**KDS Ticket Timer**
In the KDS, there are two ways to account for time. Operators can choose to use the countdown mode or count up mode [simple ticket timer]. The countdown method shows the kitchen staff how much time it will take to prepare an item and orders. Whether using the countdown mode or count-up mode the ticket colors hold the same meaning.
**Ticket Color**
- The ticket timer and prep time prep intervals are set on each device.
- Gray - The order has just been placed.
- Yellow - The order has been sitting in the queue and has almost reached the allotted prep time.
- Red - The order is overdue.
- Green - A completed and dispatched order.

We also updated the yellow ticket timer to increase the contrast, making it easier to read.

**Countdown Mode**
All incoming tickets will start at 0 and count up. There are no pre-set prep times associated with the items.
**Ticket Timer Set-Up**
1. Click the three bar icon in the left-hand corner
2. Click Settings, then Tickets
3. Choose to set the KDS to use the count-up or countdown mode
4. Set the Timer Duration

[^1]: Prep Time:**Each product is associated with a specific prep time which determines the countdown of the ticket. If the ticket has multiple items, the ticket timer will count down from the item with the **longest** prep time.
[^2]: Count-Up Mode [Simple Ticket Timer]**
---
# KDS: Setting up your KDS display
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/setting-up-kds/
Description: Step 1: You can download the GoTops app, dependent on the operating system of the device, at the following: Android - gotab.io/android/gotops Windows - gotab.io
Android - [gotab.io/android/gotops](http://gotab.io/android/gotops)
Windows - [gotab.io/windows/gotops](http://gotab.io/windows/gotops)
Macbook- [GoTab.io/mac/gotops](http://gotab.io/mac/gotops)
IPhone/IPad - Use the Apple store and search "GoTops"
---

Step 4: Enter the generated activation code .

[^1]: Step 1:** You can download the GoTops app, dependent on the operating system of the device, at the following:
[^2]: Note: If it is a device purchased directly from GoTab, you will not have the ability to use any of the above links due to our MDM policy. Instead, navigate to the Play Store on your device and install GoTops. If the app is not there, please reach out to chat support with the device serial number and request for GoTops to be added to your Play Store. *
[^3]: Step 2**: On your Manager Dashboard, navigate to your [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1) then press + New Display System.
[^4]: Step 3**: Choose the KDS Display Type and click save.
[^5]: Note: Activation code is valid for 15 minutes. If 15 minute window is missed, simply click Reset Code again for a fresh activation code.***
---
# KDS: Print on dispatch
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/setting-your-printer-to-print-on-dispatch/
Description: Setting your KDS to print on dispatch helps avoid overwhelming the kitchen with tickets by printing only when an order is fulfilled.
- The benefit of setting your KDS to print on dispatch (a.k.a. fulfillment) is to help avoid overwhelming the kitchen with tickets.
- You can set your KDS to print on dispatch, so that every time you fulfill the order on the KDS, the order will print. This way, you can determine when the order prints and is ready to be worked on rather than printing upon order.
### Step 1: Click PRINT (top right)

---
### Step 2: Select the fulfillment printer you wish to associate the KDS with - your changes will automatically be saved
### Step 3: Click in the top left corner, then Tickets to get back to your tickets display screen
---
# Station Groups
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/station-groups/
Description: Station Groups will allow you to keep your prep stations in sync with all prep times on the same ticket.
Station Groups is a useful tool for operations utilizing multiple prep stations.
**What it does:**
Station groups take into account all the prep times of the items on the ticket. This allows GoTab to automatically indicate when items at certain stations need to be prepped. Prep cooks are able to see when they need to work on items to ensure all items are ready at the same time. The expo can still see the entire ticket as well as what items need to be prepared first. Items that do not need to be prepared yet will have a countdown timer of how much longer they need to start being worked on.
**How it works:**
- You can batch together all stations that are relevant to one another.
- Example: Create a “kitchen group” that includes your kitchen, salad, sautee, and expo stations altogether.
- Example: Create a “bar group” that includes your service well, bar, and bar expo stations altogether.

- When there are multiple items from a single order routed to different prep stations, staff will be able to start working on the item with the longest prep time first, and by default, the other items will have a countdown timer for when they need to be started.

Instead of viewing the countdown timer for items that are not yet ready to be started based on prep time you can opt to hide these items instead.
To do this, navigate to your KDS Settings under Tickets and toggle on “Hide Items Until Time to Prep”

- In addition, you can configure the setting “Highlight Items After Ready to Prep” which will highlight items that are ready to be worked on based on prep time.

This setting allows a “Heard” button to appear on the KDS when there are highlighted items visible. Now the station operator just needs to click Heard to acknowledge that they’ve seen the most recent items and are now working on them. When tapped, the highlighted items will “resolve” so that the station operator may keep an eye on the next items that are ready to be worked on.
- Example: Fries with a prep time of 7 minutes that route to the “Fry” prep station are ordered on the same ticket as a Burger with prep time of 10 minutes routed to the “Grill” prep station.
- The grill prep station will indicate that the burger needs to begin being prepped.
- The fry prep station will have the ticket for the fries on the screen, but will indicate that the fries do not need to be prepared (countdown timer or invisible) for another 3 minutes.
- Salad station: Only shows items routed to that station and has a countdown with the amount of time left before staff needs to start prepping them.
- Your expo station will continue to behave in the same way, but now with station groups enabled, you will be able to toggle the station group you need to see.
---
**Station viewing**
In addition to station groups, you can further manage your display screens and view specific groups or stations.
To configure this setting, navigate to your manager dashboard > displays page
- Click the gear icon next to a KDS
- Then scroll to "Stations and Groups"

From here you can choose to toggle on:
**Read-only**: Allows you to view a display screen but not interact with any tickets
**Expo**: Allows the expeditor to mark tickets as complete before they are sent out to guests
You can then manage which stations or station groups this KDS views.
***Viewing**: The station or station Group a KDS will view
**Can edit**: Gives you the ability to toggle on and off specific stations on your KDS. When “can edit” is not selected, a KDS you are editing will only be able to display the stations selected on this page.
If you have completed the above step, on your KDS you can choose to toggle on specific station groups if you have the “can edit” option.
To do this navigate to the three lines on the top left corner of your KDS.
- Select “groups”
- Toggle on the group your display should view
If you are interested in utilizing station groups, please reach out to your Account Manager or GoTab support via the blue chat bubble in the lower right of your GoTab Manager Dashboard.
---
# Station Overrides
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/station-overrides/
Description: In GoTab, you can set up station overrides that reroute products for fulfillment based on the zone the product is ordered in.
## In GoTab, you can set up station overrides that reroute products for fulfillment based on the zone the product is ordered in.
Station overrides are often used on complex setups such as operations with multiple bars, prep stations, and kitchens. Station Overrides allow your large operation to accommodate different zones, products, and stations.
To understand how a Station Override is set up, a product that is tagged with **Tag** and ordered through**Zone** will be directed to**Station**.
In the example below, we see our Stone IPA is set to go to our Server Printer station as a baseline.

1. Create a tag, and tag all applicable products in your product catalog. It's important to do this first. In the above example, we're going to use our "bar" tag to route our Stone IPA to somewhere other than the Server Printer in some instances.
2. Navigate to the Station Overrides tab in the Manager Dashboard
3. Press Add
4. Choose the tag
5. Select the zone that needs rerouting to a new station
6. Choose your station


**Final Product:**
We now see that any item tagged with the "bar" tag--ordered in POS Only Zone--Routes to our Default No Print Station.
[^1]: How To Set Up a Station Override**
[^2]: Example:** For ours, we're going to send our Stone IPA to a no print station from our POS Only Zone since we immediately fulfill this beer for the guest, we don't need an unnecessary drink ticket to print.
[^3]: Note: If you have multiple prep stations, you will need to create a new override to reroute products to the correct station.**
---
# What to do if one printer is down (but other printers are working)
URL: https://docs.gotab.io/operator/kds-printers-additional-display-setup/what-to-do-if-one-printer-is-down-but-other-printers-are-working/
Description: Troubleshooting steps for a single offline printer. Before starting, confirm all cables are connected and your network is stable. Ask if there have been any recent network changes.
Follow these steps in order. Most printer outages are resolved by Step 2 or Step 3.
## Step 1: Check physical connections
Confirm the printer is plugged in, powered on, and that the ethernet cable is seated firmly on both ends.
## Step 2: Power cycle the printer
Unplug the power cord, wait 60 seconds, then plug it back in.


## Step 3: Verify the IP address
Print a network info chit from the printer, then confirm that the IP address on the chit matches what's listed for that printer on the Stations page.
**Epson TM-T30 / TM-T88**
1. Turn the printer off.
2. Press and hold the **Feed** button.
3. While holding Feed, turn the printer back on.
4. Keep holding until the printer prints the network info chit.
**Epson TM-U220 (impact printer)**
1. With the printer on, locate the small pinhole button near the network port on the back.
2. Press and hold it with a pen or paperclip for 10 seconds.
3. The printer will print the network info chit.
## Step 4: Check the network switch
Trace the ethernet cable from the printer. It likely runs to a network switch rather than directly to the router. Confirm the cable is seated in the switch, then power cycle the switch (unplug for 60 seconds, plug back in).
## Step 5: Power cycle the GoTab box
:::caution
Power cycling the GoTab box will take all printers at your location offline temporarily. They should come back within 3-5 minutes.
:::
Unplug the GoTab box for 60 seconds, then plug it back in. Allow 3-5 minutes for it to fully come back online.


---
# Manager Dashboard
URL: https://docs.gotab.io/operator/manager-dashboard/
Description: Reports, location settings, service fees, staff management, and analytics for your GoTab location.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
The Manager Dashboard is your command center for running your location — pull reports, configure settings, manage staff, and track your business performance.
## Reports
## Location Settings
## Staff & Labor
---
# Accrual vs. deposit view
URL: https://docs.gotab.io/operator/manager-dashboard/accrual-vs.-deposit-view/
Description: The Payouts dashboard displays your accounting data and deposits.
## The Payouts dashboard displays your accounting data and deposits.
On the Payouts page in the manager dashboard, there are multiple views showing the payout information including accrual and deposit, as well as a merchant overview.

**Accrual View**
The payout for a specific business day may be broken out across multiple deposits. To view the deposit breakdown click on the arrow. 
**View Detail**
To view, the debit/credit/net sales of each account hit the view button under detail.

**Deposit View**
Under the deposit view, you can easily view the payout from a specific business day or date range. You can flip between views to balance their books.****
**Merchant Overview**
The merchant overview provides a breakdown of any invoices from GoTab (platform fees, display fees owed to GoTab by location), credit card fee breakdowns and and an overview of deposits with batch date (date deposit initiated) and the fiscal day the deposit is comprised of.


- Settlement/Batch Date: Dates deposit initiated
- Business Days: Business day(s) deposit is in reference to.
- Payments: Gross Credit Card Payments
- Fees: Credit Card Fees
- Bills: Remittances from GoTab for any platform fees, SMS fees, Display Charges etc. owed to GoTab by location.
- Net: Total Deposit Amount (Payments-Refunds-Fees-Bills)
[^1]: Notes: You cannot select a single day to view on the merchant overview, rather it must be a date range. Also, the current fiscal day is not available within the merchant overview range. The merchant overview only populate once a fiscal day has closed.**
---
# Announcements
URL: https://docs.gotab.io/operator/manager-dashboard/announcements/
Description: Announcements allow the GoTab team to directly communicate with clients system-wide to ensure they are up to date with the latest features.
Announcements allow the GoTab team the ability to directly communicate with our clients system wide to ensure they are up to date with the latest features and reminders via the announcements dashboard. In addition, operators with upper level permissions can create announcements within their location to alert their staff of any news. Announcements will immediately pop-up on the Manager Dashboard when posted. You can choose to remove an announcement when you log in, however, you can always refer back via the announcement page.
Please note that this is *not* an announcement to guests to a location, but rather internal for staff/users at the location. To make guest facing messages, please check out our article on [Notices](/operator/menu-management/how-to-add-a-notice-on-your-menu-site/).
To create an announcement at your location, navigate to the announcements page and click the **+** in the upper right hand corner.

- Official Announcement: Allows the announcement to automatically pop up when a user logs into the manager dashboard
- Publish This Announcement To: Allows you to select the locations you are publishing an announcement to. You can use this feature if you are posting an announcement to multiple locations you operate.
- Title: Give the announcement a title.
- Text: The body of your announcement.
---
# Chart of Accounts
URL: https://docs.gotab.io/operator/manager-dashboard/chart-of-accounts/
Description: In this article we introduce you to the Chart of Accounts and how you can create your own accounts to fine tune your sales reporting.
## In this article we introduce you to the Chart of Accounts and how you can create your own accounts to fine tune your sales reporting.
**Configuration**
Creating revenue accounts is imperative to streamlining accounting. Revenue accounts are the various sources from which you generate revenue from. Rather than a blanket set of "Sales", sales can be broken down into food, beverage, liquor and so on. Properly setting up your chart of accounts can help you get a more granular view into sales. For example, by breaking out liquor products from beer products, maybe we find that we're selling 2.5x more liquor than beer and that was hard to determine when those products were all lumped into one basic "Beverage" net sales account.
**Create a Revenue Account**
****
In GoTab, there are default revenue streams. You can keep the default groups, as well as and creating your own new ones. Each revenue stream must have an assigned reporting group of Net Sales--Autograt--Tax--Deferred Revenue--Receivables--Tips--Fees--Chargebacks--Processors--Other--Paid In/Out
**Add New Accounts**
Navigate to the gear icon by the [Payouts Page](https://manager.gotab.io/manager/account-mapping?pick_loc=1)to access the Chart of Accounts.

The Chart of Accounts is organized by first Net Sales. Everything in this section will be applied to Net Sales. Anything routed to Net Sales will also show in your PMIX. If it's not routed to Net Sales, it will not populate in your PMIX.

To add an account, scroll to the bottom of Net Sales (and at the bottom of each accounting group--net sales--tax--tip etc.) to add a new account to the accounting group you're currently in.

The above example shows at the bottom of the Net Sales accounting group where you can add a new net sales account.
For a different example, below we show Deferred Revenue.

Below we show how our food, beer, sales, wine, tips etc. accounts show on our accrual accounting page.

****Here, we only clicked into Total Net Sales and it reveals the card on the right with a breakdown of net sales by account, zone etc. We can do the same for gross sales, fees, discounts etc. and we offer CSV downloads that often offer additional information, such as direct tabs link when applicable. One example may be if you have an unpaid sale for a day. You may want to download that CSV so you can easily click and be taken right to the tab that is unpaid.
### Common Questions
**What is Deferred Revenue?**
- Deferred revenue is when you're essentially taking money now for an amount a guest will redeem later. That is either going to be a gift card or an event deposit where the guest is paying you money now in exchange for credit later that can be applied to their tab. Event deposit and gift card products must be set to deferred revenue.
**What are Receivables?**
- Receivables are any unpaid tab(s) on a given day. Generally under your receivable accounting group you should have a sales receivable, tax receivable and an autograt receivable.
**What are Bills?**
- Bills can include, but not limited to: monthly SaaS fees, display fees and interchange plus card fees withheld by GoTab from the credit card deposit. One-time bills can be found on the Remittances Page under invoices and recurring monthly can be found under Recurring on the Remittances Page.

[^1]: Accounts on Accrual Dashboard on Payouts Page**
[^2]: Sales Accounts on the Sales Dashboard**
---
# Full Service: Coursing Configuration
URL: https://docs.gotab.io/operator/manager-dashboard/coursing-1/
Description: You can configure products to specific courses in your Manager Dashboard.
## You can configure products to specific courses in your Manager Dashboard.
To begin configuring your courses, have GoTab enable coursing for your location.
Navigate to Location Settings > Full Service, then press **+Add Course**
1. Course Name: Name your course (Appetizers, Entrees, Desserts, etc.)
2. Average Time Eating (seconds): Establishes how long the expected consumption time is for guests once the items from this course are delivered
3. Auto-timed: When turned ON, this will ensure that the course is fired after a calculated amount of time (Previous course hold time + prep time + eating time) - (Current course prep time). When turned OFF, staff will need to manually fire items configured to this course to the kitchen (unless the trigger on fulfill is turned on).
4. Trigger on fulfill: The course will be triggered to fire after the course ahead of it has been fulfilled.
- Note: If both Auto-Timed and Trigger On Fulfill are set to ON, the shorter time will be respected
Once your settings are configured to your liking, press save.
To assign products to a default course, press the “manage products” option at the top of the page
From here, you can search for a specific category or course.
1. Category: View all products within a category and select which items should be included in a course.
2. Choose “Set To” and select which course the selected products should be configured to.
3. Course: View all items configured to a specific course
4. Choose “Set To” and select which course the selected products should be configured to.
- You can also filter both for category and course at the same time.
- When selecting products and choosing a course under “Set To” the products will automatically save to the course you select.
******
**Fulfillment:**
- Printed and KDS tickets default to print each course individually when they are fired
- KDS Tickets can be set to view “Held” orders as well, displaying any courses not yet fired. These tickets will display in light purple with a countdown time before which their status will go from “Held” to “Fired.” This can be turned on for any individual KDS display:
KDS Settings
- Toggle ON “Show Held Orders”
Click [here](/operator/pos/full-service-pos-coursing/) to learn how to use POS Coursing.
Click [here](/operator/user-experience/full-service-guest-coursing/) to learn how to use Guest Coursing
[^1]: Note: Setting default courses is optional and generally recommended for restaurants whose clientele expect their meals to be coursed. Products can always be manually assigned on a case-by-case basis via the POS or at checkout in the guest flow. ***
[^2]: For locations using Station Grouping:**You can optionally set printing to print the entire table’s order, with each course broken out. If opted into this setting, there will be a “Fire” ticket that prints to indicate when each course should begin to be worked on.
---
# Location Settings: Daily Insight Email
URL: https://docs.gotab.io/operator/manager-dashboard/daily-emails/
Description: Learn how to add or remove your email from the daily email generator to receive your location-specific daily insight report.
## Email Generator/ Email Contacts
Learn how to add/remove your email to our daily email generator so that you can receive your location-specific daily insight report. GoTab offers a daily insight email that provides a snapshot of your daily sales, product mix, projected sales, and fulfillment times.
**When to Use:**
- This feature allows you to receive a detailed insight report delivered right to your inbox on a daily basis. Here are the steps to register your email:
- 1) Go to your "Location Configurations" dashboard and click on "Daily Emails"
- 2) You will brought to this screen. Click on "Daily Email Contacts" to enroll your email address.
- 3) Then enter your email here. Once you have entered your email you should see your email populate below. Alternatively, you can also remove (unsubscribe) yourself from here as well just by clicking on the "x" next to your email address.
- Missed an email and would like another one sent? You can click on the "Daily Email Generator" tab, select the date that you would like the report for
- select the email(s) that are receiving the email and hit send
**Customize Daily Email**
You can now also customize the data your receive in your daily email.

---
# Reports: KDS Fulfillment Report
URL: https://docs.gotab.io/operator/manager-dashboard/fulfillment-report/
Description: This report allows users to see the performance of order processing in the kitchen, including average fulfillment times and the slowest orders.
**Feature Definition:**
- This report allows users to see the performance of order processing in the kitchen.
- Avg Time = The average processing time of ALL orders that have been sent to the KDS during the selected day (and the selected time range if specified).
- For each of the selected dates, the top 10 slowest fulfilled orders of the day will be displayed.
## Choose your date(s) and click Generate Report
---
# Location Settings: Edit
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-access-edit-your-location-configurations-dashboard/
Description: Learn how to edit your location settings.
## Learn how to edit your location settings.
- Edit Location Settings
- Open Tabs Settings
- Display Settings
### Edit Settings:
Click on the "Location Configurations" dashboard and then click on the "Edit" dashboard.


- Ordering is turned: this indicates if your location allows ordering within all zones. If you need to turn on/off ordering altogether you would toggle this switch.
- Read Only Mode: Allows a location to be "read only" and not orderable.
- Help Button is turned: This displays a help button throughout the guest ordering flow.
- Catalog Browsing is turned: this toggle is useful for locations that utilize our "Menus" feature. Swaps viewing your menu as a product catalog to viewing between the different menus you have in play.
- Auto Re-Enable 86'd Products is turned: Allows you to decide if you want products to automatically enable themselves the following day after being 86'd or if you want to turn it off to manually enable products.
### Open Tab Settings:
****
- Open Tabs: In GoTab, operators can choose whether to allow open tabs at their location.
- Open Tabs are Defaulted to: this indicates if whether or not you would like for the open tabs toggle to stay in the on position for your customers.
- Preauth Amount: this is the pre-authorization amount that you would like to charge your customers for opening a tab.
- Preauth Initial Order is ENABLED/ DISABLED -
When enabled, preauth for the amount of the first order.
When disabled, always preauth for the amount above.
- Preauth Payment Terminal is ENABLED / DISABLED -
When enabled, preauth when a card is read on the payment terminal.
When disabled, rely on card tokenization for card validation.
- Preauth Payment Terminal is: When enabled, operators can preauth a card on the payment terminal.
### Display Settings:
****
- KDS Item Sort: KDS and printed order items can be configured in location settingsYou will see the following options:
Alphabetical - Products displayed A-Z
Chronological - Products displayed in the order rung in
By Prep Time: Ascending or Descending - Longer prep time items to shortest, or vice versa
By Category - Products displayed in the same order as the Product Catalog, grouped categories
- POS Show Takeout/Delivery Order Button is turned: Allows takeout orders to be inputted on the POS.
- Servers can rush orders on the POS is turned: Servers can rush orders on the POS allowing the tabs to bump to the front of the KDS.
- Clear Spot Assignments Daily: Clears assigned spots to servers in the POS
- PIN Length: how long you want the pin length for server pins
- POS will ignore schedules: On the POS, servers will be able to order any products at any time despite guest-facing time constraints on menus.
- POS Order Note Short Cuts: Create custom buttons on the POS to streamline ordering. For example, operators can create "no make," "takeout," "curbside," and "rush" buttons.
### Edit your location's home page:
### Custom Refund Reasons:
The last section under your Edit Dashboard is your Custom Refund Reasons. Here you can edit your custom Refund/Void reasons. If you would like to add a new one, simply type in the new reason and click on the add button.

[^1]: Locations settings are broken into three different sections:**
---
# Location Settings: How to Add Service Charges (Automatic Gratuity)
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-add-service-fees/
Description: At GoTab, service charges can be added on the zone level to automatically apply to any tab in that zone, supporting large parties, delivery fees, and catering.
## You can add service charges (automatic gratuity) on the zone level to accomodate large parties, delivery fees, catering, or help ensure workers receive a living wage.
At GoTab, service charges can be added on the zone level to automatically apply to any tab in that zone. You can also add service charges to any tab separately.
For example, you can create a service charge that is only added to your event zone to ensure workers are getting compensated correctly based on what they are servicing.
1. Navigate to Location Settings > Service Charges **+add new service charge**

2. You will then fill out the information:

3. Once you have created your service charge, navigate to zones.
Choose the zone group, then choose "settings" on the designated zone to add the service charge.

To learn how to add a service charge to a tab, click [here](/operator/pos/how-to-add-a-service-fee-to-a-tab/).
[^1]: Service charges are configured in the Manager Dashboard.**
[^2]: Note: "Nest within taxes & fees" will display the service charge under the taxes and fees option. When choosing to not nest your service fee, it will show as a line item on the guest checkout.***
[^3]: Note: You have to manually add service charges to any zones they are applicable for. *
---
# Location Settings: Messaging
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-create-custom-messages/
Description: Learn how to create custom messages, assign them as primary or default, and when to use custom messaging.
## Learn how to create custom messages, assign them as primary or default, and when to use custom messaging.
**Messaging**
When a guest places an order, they can automatically receive a confirmation text and text once an order is fulfilled from the KDS.
Messaging and their settings can be customized by zone. To turn on automatic confirmation and fulfillment texts for your guests, navigate to your[Zones Page](https://manager.gotab.io/manager/displays?pick_loc=1) and adjust the settings for each zone.

**Create Custom Messages**
Navigate to Location Settings--Messaging in your GoTab Manager Dashboard.
- To create a new custom message, press +add message.
- To create a custom message for a zone, press the map icon on the message, then select the zone(s) you want that message to apply to.

For Easy Tab and Tab Share custom messaging, be sure to include the Easy Tab or Tab Share link in your custom message. Without this link, the guest will not be able to get to their tab.

**Messaging on the KDS**
Text functionality requires having a guest's cell number attached to the tab. Click ●●● on a KDS ticket to reveal additional text functionality.
- Text & Fulfill lets guests know their order has been completed and marks the ticket complete.
- Text - Order Ready sends the guest a text to let them know their order is ready. Keep in mind this does not fulfill the order on the KDS.
- Text see staff will sends the guest a text to see the staff.
- Custom Chat allows employees to custom chat with a guest.
****
**KDS Text on Fulfillment**
On the KDS, turn on auto-text on fulfillment to alert guests that their order is ready! A green check mark on the chat bubble indicates when automatic text on fulfillment is turned on.

[^1]: Activate Messaging on the Zone Level **
[^2]: Note: *These zone level messaging settings only need to be turned on for automatic text on order and fulfillment from KDS. These do not need to be on for guests to receive Easy Tab or Tab Share texts.***
---
# Location Settings: How to create & edit your Tax Rates
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-edit-your-tax-rates/
Description: Learn how to locate your Tax Rates configurations dashboard so that you can update, remove, and edit your tax rates.
## Creating Tax Rates, Editing Tax Rates
Learn how to locate your Tax Rates configurations dashboard so that you can update, remove, and edit your Tax Rates.
---
1) Go to your "Location Settings" dashboard and click on "Tax Rates"
****
2) Click on the "+ add new tax group" or "+add rate" on an existing group to add a new tax rate.
3) Then go ahead and type in a customer-facing Tax name relevant to your location. Example: "VA Sales Tax". And then enter the tax rate. To complete, just hit the green checkmark to save.

4) Once you create your tax rate, you have the option to toggle on "Tax Rate Tax Inclusive" to automatically include your tax rate in the price of your products. This would apply to any product that has the tax-inclusive tax rate configured.
### Tax Groups
You can create a new tax group or add a tax rate to an existing tax group. A tax group allows you to apply the combined tax rate to products allowing you to have enhanced reporting.
For example, you could have a tax group with a combined rate of 16% tax.
Inside this tax group you may have the following taxes:
- Liquor Tax: 5%
- State Sales Tax: 6%
- City Tax: 2%
- Processing Fee Tax: 3%
A tax group will combine all tax rates into one on a product simplifying the representation to guests while also allowing for enhanced reporting.
[^1]: Note: Once created, you can always come back here and edit the tax rate by clicking on the "edit" pencil icon.***
---
# Location Settings: Schedule and Schedule Overrides
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-set-a-schedule-override/
Description: Learn how to create schedules and schedule overrides from the Location Settings page in the GoTab Manager Dashboard.
## Go to Location Settings > Schedules

Press **+ add new schedule**
****
Then create your schedule:

---
Press**+ add new schedule override** 
---
Then create your override:

---
# How to override your location schedule
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-turn-off-ordering-for-a-specific-days/
Description: If you ever need to turn your ordering on or off for the day or days, you can put a schedule override on top of your main location's schedule.
## If you ever need to turn your ordering on or off for the day or days, you can put a schedule override on top of your main location's schedule.
Start by navigating to Location Settings > Schedules

---
Press **+add new Schedule Override**

---

You can create a schedule override to change your hours of operation or set your location as unavailable for the entire day.
Change your hours:
1. Choose the day you need to edit your hours of operation
2. Drag the time scale to your new hours of operation
3. Input a reason
4. Press save
Set your location unavailable for the entire day
1. Choose the day you will be closed
2. Toggle on "set unavailable for the entire day"
3. Input a reason
4. Press save
---
# Reports: Customer Feedback
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-view-customer-feedback/
Description: Reports: Customer Feedback

---
# GoTab Accounting/Payout Reports
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-view-your-gotab-accounting-reports/
Description: “Navigate to the Payouts Page in the GoTab Manager Dashboard to view accrual accounting, deposit view, and merchant overview reports.”
> NOTE: Accounts can now be viewed in aggregate across multiple locations. If you have access to multiple locations you can select “All Locations” from the dropdown rather than an individual location to view all data.
Navigate to the [Payouts Page](https://manager.gotab.io/manager/accounting?pick_loc=1) in the GoTab Manager Dashboard.
## Accounting data can be viewed in two different ways (detailed below):
1. Accrual basis accounting**- Accrual accounting records revenues and expenses when a sales transaction occurs, regardless of whether payment is immediately received. Because this includes cash and not dependent upon payment, this is why your payout total in the accrual section of accounting is highly unlikely to match the actual deposit received.

---
2.**Deposit view**- Payouts are recorded under the deposit view.

Click the arrow in the upper right corner of a deposit to view the business day in reference for the deposit.
Note that "Internal" or "External" deposits are not deposits to be expected from the payment processor into your account. Below highlights what we mean. The "external" deposit here is our cash intake for a day so it's *external* of your actual credit card deposits into your bank account.

---
3. **Merchant Overview**
The merchant overview provides a breakdown of any invoices from GoTab (platform fees, display fees owed to GoTab by location), credit card fee breakdowns and and an overview of deposits with batch date (date deposit initiated) and the fiscal day the deposit is comprised of.
****

- Settlement/Batch Date: Dates deposit initiated
- Business Days: Business day(s) deposit is in reference to.
- Payments: Gross Credit Card Payments
- Fees: Credit Card Fees
- Bills: Remittances from GoTab for any platform fees, SMS fees, Display Charges etc. owed to GoTab by location.
- Net: Total Deposit Amount (Payments-Refunds-Fees-Bills)
If you have any additional questions, please reach out to your account manager.
[^1]: Business Day:**The period during which payments were collected.
[^2]: Net Sales**: The subtotal of products purchased less discounts and refunds.
[^3]: Deferred** **Revenue**: Net between deferred revenue sold & redeemed (Gift Cards/Event Deposits)
[^4]: Tax**: The tax collected on the subtotal of products purchased.
[^5]: Autograt:** Any autograts (service fees) applied.
[^6]: Tip**: The Tip tendered during the displayed period.
[^7]: Receivables:** Net amount of any unpaid tabs from current day + previously unpaid tabs collected.
[^8]: Fees**: Withheld credit card processing fees.
[^9]: Payout**: Total processed, including cash, less fees. Because this includes cash/cash equivalents, the payout total on accrual is unlikely to equal your deposit amount.
[^10]: Detail**: Click this column to display a categorical breakdown of the subtotal and tax.
---
# Reports: Product Mix
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-view-your-product-mix/
Description: The product mix allows you to view and interpret product data on a granular level.
## The product mix allows you to view and interpret product data on a granular level.
The Product Mix dashboard allows you to customize your day-to-day breakdown of products sold including the quantities and total sales. The Product Mix helps you position and maximize your products to your guests, allowing you to receive maximum revenue.

- Date
- Choose a start/end date
- Filter by orders placed or scheduled (allows you to view only orders that were scheduled or only orders that were placed).
- User
**Drilldown:**
The drilldown function allows you to customize how your product data displays to you.

For example, you can choose to view a fiscal day breakdown, then accounts, products, and options. Once you configure the drilldown to your liking, you can start viewing the information.
***Notes:***
***-"Options" must be the last drilldown option.***
***-Your PMIX download will adhere to the groups are you currently viewing.***
***-Only products routed to Net Sales populate in your PMIX. Anything routed to Other (Non sales revenue), Tax etc. will not populate in the PMIX***
You can view more granular data by clicking on each line item.

You can edit your drilldown customizations at any time to view data different data.
The download function adheres to what is selected in the Drilldown so if you only choose categories--zones--options, then that's what the download will provide.
To show a basic concept of how the data works on the PMIX. Voids are removed from gross and net quantities of a product because the idea of how a void should be utilized is that *this didn't happen,* therefore we will remove it. An example of that might be that you add a lemonade to a tab but the guest ordered an iced tea but the mistake was realized before serving. We'd really want to void that because we didn't deliver it and then just add the iced tea like normal.
A comp will show a gross quantity/gross sale but will not be included in net quantity/sales because we are comping something we actually gave away. With that, we'd want to include that in the overall gross but the net of an item you comp would be 0.
Below is a very basic side by side of POS/PMIX as we add items and then show the difference when we start comping/voiding.
Here we have 2 Kettle Corn. Gross/Net Quantities of 2 because we simply adding them to a tab.

Now below you see we voided one of the Kettle Corn. We simply see a gross/net quantity of 1 since with void, we're essentially just saying "this didn't happen".

Now below we have one voided and one comped. Note that that gross quantity is still 1 but the net is 0. We're saying we gave away (comped) one Kettle Corn and the other just didn't happen. The still nets out to 0 but our gross remains one for the Kettle Corn we comped.

And finally below we voided both. Now there is no gross or net because we're saying neither of those instance of Kettle Corn happened by voiding.

[^1]: You can create a custom date range to view product data: **
---
# Reports: Sales Page
URL: https://docs.gotab.io/operator/manager-dashboard/how-to-view-your-sales-report/
Description: Navigate to the Sales Page in your GoTab Manager Dashboard to view sales data, drill into discounts, and download transaction reports.
---
Navigate to the [Sales Page](https://manager.gotab.io/manager/sales?pick_loc=1) in your GoTab Manager Dashboard


Click any information icon to reveal what numbers comprise each line.

Click into any line for additional information and often CSVs containing links to tabs where discounts, fees etc. were applied.
For example below we click on our discounts line. We break out each discount and the amount discounted. At the top we can choose between *type* of discount and *discount* by reason. Click download CSV and we provide a report with links to tabs for each discount applied during the selected date range.

- Name--Payment Time--Payment Type--Order Placed--Placed Business Day--Order Placed Hour--Order Scheduled--Order Scheduled Hour--Spot--Zone--Tab Server--Order Server--Order Value--Tip--Auto-gratuity
[^1]: Transaction Report **will provide you a CSV download of the following fields:
---
# Labor Management
URL: https://docs.gotab.io/operator/manager-dashboard/howtomanagelabor/
Description: GoTab's labor functionality allows you to adjust employee clock in/out times, track employee hours, shift breaks, pay rates and tip declarations.
## GoTab's labor functionality allows you to adjust employee clock in/out times, track employee hours, shift breaks, pay rates and tip declarations
Navigate to the [Labor Page](https://manager.gotab.io/manager/labor?pick_loc=1) in your manager dashboard.


-Create Entry allows you to manually add a clock in/out for an employee.

-Scroll to the right and click the pencil icon on a user to edit their clock in/out time.

-In the above screenshot, we also show our newly added predefined** Labor Edit Reasons**. You can use these to create preset reasons managers need to choose from as the reason for editing someone's clock in/out time. You can create these in Location Settings--Edit--Custom Reasons--Labor Reasons.
****
Once an edit has occurred, we show the information icon you can click to see the time of the edits with the reason.

-On the upper right hand side, an you can press "settings" and customize break types. Click the arrow to the right of a created break to adjust whether it's a *paid* or *unpaid* break.

-You can also set additional labor policies.

- Print on Clock Out: Prints a clock in/clock out time ticket upon clock out.
- Declare Tips on Clock Out: Prompts a modal where servers can enter their cash tips for a day.
- Prevent Clock Out with Open Tabs: Prevents user from clocking out while they still have open tabs. All of their tabs either need to be closed or they can Transfer their tab(s) to another user still clocked in to pick up those tabs.
- Prevent Printing of User Report with Open Tabs: Prevents user from printing their user report from the POS if they still have an open tab, helping to ensure they are alerted that they still have tab(s) open that require some action.
- Automatic Clock Out: Automatic clocks a user out at the end of the fiscal day. This reduces instances where you have users clocked in for multiple days in a row, but any time punches that were automatically clocked out would still need manually adjust to their correct clock out time.
- Require Clock In: Prevents pinning into the POS for restricted users if they are not clocked in.
-We have various Labor Reports you can download at the top that adhere to the selected date range (Max 31 day date range selectable).

- Download Report: This report shows user first and last name with each of their clock ins/outs, pay for each of those and the role their were clocked into.
- Download Audit: This is an audit report showing edited clock in/out times with who edited, what edits were made and for what reason.
- Download Payroll Report: Total hours worked, rate and pay for each user during selected date range.
**Clocking In/Out**
-In order to clock in/out on the POS, a role must be assigned to the user. To learn how to assign a user and user role, click [here](/operator/getting-started/adding-users-and-creating-a-pin/).
-Servers can clock in on POS by pressing "Clock In/ Out" on the bottom of the login numbers.

-Servers will then pick their user role (some users may work multiple roles).

-After selecting their user role, they will press "clock in" and the timestamp will populate on the right.
-When a server needs to clock out or take a break, they will simply press "clock out".
-Choose end of shift to clock out, or choose from the break types set from the Labor section of the manager dashboard.

-If a server chooses end of shift *and* "declare tips on clock out" is toggled on from the manager dashboard, a modal will pop up where servers can declare their cash tips for a shift.

In addition to GoTab's labor management, we integrate with 7shifts. 7shifts is a strategic labor management partner that provides you with real-time sales and labor data that can help optimize your business. To learn more about our partnership, click [here](https://success.gotab.io/en/knowledge/7shifts-x-gotab-integration?hsLang=en).
---
# Reports: Payments Page
URL: https://docs.gotab.io/operator/manager-dashboard/payments/
Description: From the Payment Page in your manager dashboard, you can view payments, refunds, chargebacks and failures.
From the [Payment Page](https://manager.gotab.io/manager/payments?pick_loc=1) in your manager dashboard, you can view payments, refunds, chargebacks and failures.

On the left side of the payments page, you can search search by card number across a date range and filter by success, refunds, chargebacks and failures.

---
# Reports: Inventory Depletion
URL: https://docs.gotab.io/operator/manager-dashboard/reports-inventory-depletion/
Description: You can view a comprehensive report of all your inventory adjustments and depletions.
## You can view a comprehensive report of all your inventory adjustments and depletions.
To view Inventory adjustments and depletions, navigate to the inventory page under the Reports section in the Manager Dashboard.
- Choose a date range
- Choose an adjustment type, or just view "All Adjustments"
- Press submit
You will then be able to view
- Sku
- Product
- Total Adjustments
- Units
You can choose to download this report.

To learn how to update stock levels, click [here](/operator/menu-management/inventory-management/).
---
# Reports: Variants
URL: https://docs.gotab.io/operator/manager-dashboard/reports-variants/
Description: You can view a report of your variants.
## You can view a report of your variants.
You can view a report of your variants for a custom date range.
- Input the desired date range
- Select Variant Report
- Press submit

You can click on a product to view the date, the user who initiated any adjustments, and the adjustments themself.
You can also choose to download a csv of the date from your specified date range.
---
# Service (Employee Reports)
URL: https://docs.gotab.io/operator/manager-dashboard/service-employee-reports/
Description: The service tab will display sales, comps, voids, and discounts and can be viewed by all or grouped by an employee.
## The service tab will display sales, comps, voids, and discounts and can be viewed by all or grouped by an employee.
You are able to filter by date range and employee.
- Sales: Shows the item quantity, guest count, percent of sales, and total sales

- Comps: Will list out the employee that initiated the comp, comp item count, % of comps, and sales as well as the manager that PIN’d in to approve the comp

- Voids: Will list out the employee that initiated the void, void item count, % of voids, and sales as well as the manager that PIN’d in to approve the void

- Discounts: Will list out the employee that initiated the discount, discount item count, % of discounts, and sales as well as the manager that PIN’d in to approve the discount

---
# Managing Your Tabs
URL: https://docs.gotab.io/operator/managing-your-tabs/
Description: Close tabs, process refunds, update payment methods, search tabs, and manage open orders.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Everything you need to manage tabs throughout their lifecycle — from finding and filtering open tabs to processing refunds, updating payments, and communicating with guests.
## Finding & Managing Tabs
## Payments & Refunds
## Guest Communication
---
# Closing All Open Tabs from the Manager Dashboard
URL: https://docs.gotab.io/operator/managing-your-tabs/closing-all-open-tabs-manager-dashboard/
Description: To close all open tabs, click the Close all open tabs button from the tabs page.
To close all open tabs simply click the *Close all open tabs *button from the tabs page.
******
To confirm the action, simply click the *confirm *button from the confirmation screen.

[^1]: Feature Definition: **How to close out your open tabs.
---
# Tabs: How to Filter by Tab Status
URL: https://docs.gotab.io/operator/managing-your-tabs/filter-by-tab-status/
Description: You can easily adjust your tabs view from the tabs page by tab status using the Open Tabs and Closed tabs toggles.

---
You can easily adjust your tabs view from the *tabs *page by tab status. To do so simply use the Open Tabs and Closed tabs toggles on the *tabs *page.**

[^1]: Feature Definition:**How to view tabs by filtering between Open tabs and Closed tabs from the *Tabs* page.
---
# Guest Cover Count
URL: https://docs.gotab.io/operator/managing-your-tabs/guest-count/
Description: You can now add a cover count for the number of guests on a given tab on your POS.
## You can now add a cover count for the number of guests on a given tab on your POS.
**Turn On Automatic POS Prompt**
The automatic guest count prompt is a zone level setting.
In the manager dashboard, Navigate to Zone--Settings--Click Yes to Prompt Cover Count.

**Guest Count on POS**
With "Prompt Cover Count on POS" on, you will now be automatically prompted for the number of guests when initially opening the tab.

The number of guests can be found at the top of the tab.
**Cover Count in your Kitchen**
On your KDS, click the three dots on a ticket to view guest count.
****
On your kitchen chits, guest count can be found near the top of the ticket.
****
The cover count can be found on your Sales page.

Navigate to the Service page for additional cover data broken out by server.

[^1]: Note: Automatic prompt setting is not required to add a guest count. You can manually edit or add a guest count by click the pencil icon and adding the number of guests on a tab.***
[^2]: Cover Count in the Manager Dashboard**
---
# Pocket POS: Guest Pay
URL: https://docs.gotab.io/operator/managing-your-tabs/guest-pay/
Description: Quickly flip to Guest Mode on the Pocket POS to more intuitively allow your guest to pay, tip and choose method of receipt delivery.
## Quickly flip to the Guest Check View to more intuitively allow your guest to pay, tip and choose method of receipt delivery.

Guest Pay populates under your payment method selections after hitting PAY on a tab.

The screen will now enter guest mode where they have the option of either paying in full or even split their check.

Your guests can split the tab evenly, by seat or simply tap on an item and move it to another check.
**
**Turn on Guest Pay & Settings**
Navigate to More--Settings--Payment in your POS.

Guest Pay: Toggles the ability to enter guest pay on/off.
Flip screen: This rotates the screen 180 degrees as you enter guest pay.
Requires PIN to leave screen: For extra security from unwanted guest POS access, toggle this setting on to require a server's pin to re-enter POS.
**Tap to Pay from Guest Pay**
We also now have the ability to use Tap to Pay in conjunction with Guest Pay. This first requires Guest Pay is Toggled On (shown above).
What Tap to Pay within Guest Pay means is that now when you click Guest Pay hand the device to the guest, once they hit Pay, they'll be prompted to tap their credit card/mobile wallet to the back of the phone rather than defaulting to paying with an NYC1 pair to your mobile POS.
To turn on Tap to Pay within Guest Pay, navigate to More--Settings--Payment--Payment Terminals & CFDs in the POS.

Set Tap to Pay as the Default Payment Device for Preauth. By doing so, we are setting Tap to Pay as our default payment method for authorizations and Guest Pay on our mobile POS.

---
# How Do I Add Seats to Orders?
URL: https://docs.gotab.io/operator/managing-your-tabs/how-do-i-add-seat-numbers/
Description: Our seating feature allows you to designate items to specific seat numbers or the entire table, as well as to rename seats.
## Our seating feature allows you to designate items to specific seat numbers or the entire table, as well as to rename seats.
**Turn on POS Seating**
Location Settings--Full Service--POS Seating
****
**Adding a Seat**
Simply click one of the numbers above the item modifiers add a seat number to an item. If it's for the entire group, you can click "Table" to designate an item for the whole table.

**Renaming a Seat**
Within the "Seat" view on a tab, click the edit icon on the seat to add a name to the seat to help keep your orders within a tab organized.

**Split Pay by Seat**
Enter "Split Pay" on the tab.

Click "Split by Seat" in the upper right to easily split the tab by the designated seats.

To learn more about Split Pay, click [here](/operator/pos/split-pay-1/).
---
# Tabs: How to manually close an open tab
URL: https://docs.gotab.io/operator/managing-your-tabs/how-to-manually-close-an-open-tab/
Description: In GoTab, you have the ability to manually close a tab. This is helpful in case a customer leaves your establishment without closing their tab. Or, if you are c
In GoTab, you have the ability to manually close a tab. This is helpful in case a customer leaves your establishment without closing their tab. Or, if you are closing up for the night and want to close the open tabs yourself.

---

---
# Tabs: Refunds
URL: https://docs.gotab.io/operator/managing-your-tabs/how-to-process-a-refund-article/
Description: You can easily process a refund from the tabs page on the manager dashboard.
## You can easily process a refund from the tabs page on the manager dashboard
1. Go to the tabs page and locate the tab you want to refund.
2. Press refund on the tab

3. Choose between refunding by item or an open refund


[^1]: Refund by item:** Choose entire items to refund
[^2]: Open refund:**Choose an amount to refund
---
# Tabs: How to change the payment method of a closed tab
URL: https://docs.gotab.io/operator/managing-your-tabs/how-to-update-the-payment-method-of-a-closed-tab/
Description: If a customer paid with the wrong card, a Manager can go into the tab to process a refund and reopen it so that the guest can pay with a new payment method. Her
## If a customer paid with the wrong card, a Manager can go into the tab to process a refund and reopen it so that the guest can pay with a new payment method. Here's how:
Step 1: Find the tab and click "Refund"

---
Step 2: Click Open Refund ----> Remove Payment & Reopen ----> Select Amount ---> Next ---> Submit

---
Step 3: Customer will get a text with a link back to their tab

---
Step 4: Click Close Tab
---
Step 5: Click use another card

---
# Tabs: How to text a guest from the tabs page
URL: https://docs.gotab.io/operator/managing-your-tabs/initiating-custom-chat-1/
Description: To initiate a message, click the arrow on the order card then select the blue message icon to start a conversation with a guest.
To initiate a message simply click the arrow on the *Order card *then, select the blue *message icon.*

---
From the messaging screen, you have the option to send a variety of messages. These messages can be customized and configured from the *Messaging *page (link).

---
# POS: Pre auth name prompt
URL: https://docs.gotab.io/operator/managing-your-tabs/nameprompt/
Description: A tool to help ensure your tabs are properly named and easily located.
## A tool to help ensure your tabs are properly named and easily located.
**Pre-Auth Name Prompt**
This feature allows you to ensure that you always have a valid name associated to a tab. With this feature on, we will autodetect if a card returns an invalid name and will provide a prompt to allow you to manually enter a name on the tab.
Navigate to Devices and Printers within your POS settings and toggle on "Prompt name on preauth"

This modal then pops up in the POS letting you know that we were unable to get a name from the card, and you a name can now be manually entered.

[^1]: Inability to capture names occurs with Apple Pay, tap to pay and prepaid cards .*
---
# Scheduled vs. Placed
URL: https://docs.gotab.io/operator/managing-your-tabs/scheduled-vs.-placed/
Description: GoTab allows you to filter your tabs, product mix, and feedback pages by scheduled or placed orders.
## GoTab allows you to filter your tabs, product mix, and feedback pages by scheduled or placed orders.
### Tab's Page
****
Depending on your location's configuration, guests will be able to schedule future orders. You will be able to find those scheduled orders by filtering with this option.
### Product Mix Page
****
### Feedback Page
****
[^1]: Scheduled:** When filtering for scheduled orders, you can view scheduled tabs from your selected date range. The scheduled orders filter will consist of any orders placed in advance as well as any dine-in orders for that day.
[^2]: Placed:**When filtering for "placed" orders on the tabs page, you can see all orders that have been placed from your selected date range regardless of when the tab was scheduled.
[^3]: Scheduled: **When filtering for scheduled products, you will see all items placed on a scheduled tab for your selected date range. In addition, you can filter your date range to a later date to view items from future orders. This is helpful for any takeout or catering scenario because you are able to anticipate future items ordered.
[^4]: Placed:**When filtering for "placed" orders in the product mix, you will see all orders that have been placed from your selected date range regardless of when it is scheduled.
[^5]: Scheduled:** You can view all feedback from any scheduled tab on a specific day(s).
[^6]: Placed:** You can view all feedback from a specific day(s) from any placed tab.
---
# Tabs: How to Search for a Tab
URL: https://docs.gotab.io/operator/managing-your-tabs/search-by-name-or-table/
Description: The search bar on the tabs page allows you to locate a guests' tab seamlessly. Simply search by using the guests' first and last name, check number, or the spot
The *search bar *on the *tabs* page allows you to locate a guests' tab seamlessly. Simply search by using the guests' first and last name, check number, or the spot (table number) at which they dined. You can also filter for a custom date range, switch between orders placed or scheduled, and even choose a server.

---
# Tabs: Viewing Guests' Receipts
URL: https://docs.gotab.io/operator/managing-your-tabs/viewing-guest-reciepts/
Description: To locate a guests' receipt from the Manager use the search bar on the tabs page to filter by the guests' name or table number. Then select the blue receipt ico
To locate a guests' receipt from the Manager use the *search bar* on the tabs page to filter by the guests' name or table number. Then select the blue *receipt icon* on the guests' tab card.

Then press "view receipt." If the tab is still open, it will say "view tab."

You will then be prompted to the guests' receipt where you will have the option to email an additional copy to the guest.

****
---
# Menu Management
URL: https://docs.gotab.io/operator/menu-management/
Description: Build and maintain your menu — products, modifiers, categories, images, QR codes, and zones.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Everything you need to build and manage your GoTab menu — from creating zones and menus to managing your product catalog, modifiers, and ordering settings.
## Menus & Zones
## Products & Catalog
## Modifiers & Options
## Settings & Tools
---
# Category bulk tagging
URL: https://docs.gotab.io/operator/menu-management/category-bulk-tagging/
Description: Bulk Category Tagging lives under your "Bulk Edit Products Within Category" option. Select this to get started with bulk tagging.
Bulk Category Tagging lives under your "Bulk Edit Products Within Category" option. Select this to get started with bulk tagging.

Then scroll down and select:

---
Then you can select your tags to apply to your categories. Tags you want applied to all products within the category you have selected will appear under "Shared Tags". "Partially Shared Tags" are those tags that have been applied to some products within this category, but not all.

---
# Copying Modifiers
URL: https://docs.gotab.io/operator/menu-management/copying-modifiers/
Description: You have the ability to copy modifiers allowing you to save time by copying over information into a separate modifier group.
## You have the ability to copy modifiers allowing you to save time by copying over information into a separate modifier group.
To copy a modifier *from *one product to another, navigate to the "update product options" on the product where the modifier lives.
- Press the two papers icon.
- Then, search or scroll for the product(s) or category you want to copy the modifier options to.
****

To copy an existing modifier *from* another product to the one you are working on, navigate to the "update product options" on the product that needs the existing modifier. You would use this on a product that didn't necessarily have the mod you needed and you would click the word COPY to copy a modifier from a different product that did have the mod you'd like.
- Press copy modifier
- Select any modifiers you would like to copy over to the product you are working on.
- Press copy
****
****
---
# Creating a Takeout Zone
URL: https://docs.gotab.io/operator/menu-management/creating-a-takeout-zone/
Description: Learn how to create a Takeout Zone in GoTab, including configuring order lead time, scheduling, ASAP orders, and throttle settings.
## Open Tab Requirement, Order Lead Time, Max Order Days, Scheduling Time Steps, Allowing ASAP Orders, Setting Throttles
- Takeout
- POS
- Multi-Location
To create a new Takeout Zone:

(1) Navigate to the Zones page in the GoTab menu
(2) Select "Takeout"
---

Scroll down and select **+add zone**
Fill out the New Zone info. This info will apply to all spots (QRs) within the zone. Different rules for different spots will require a new zone.
- Name
- Minimum order subtotal: the amount of purchases (in dollars) required to place an order.
- Tip Scale: Design different tip scales per zone. You will also select the default tip here.
- Service Charge: Set service fees in Location Settings: Service Charges and apply the percentages to individual zones. This works well if you are having an event zone and would like an auto-gratuity set up only for that zone.
- Open Tab Requirement: The information a location wants guests to input before they open a tab. This should always be set to requires customer card and phone on file.
- Prompt Guest for Name on Scan: You can choose to set this to yes or no.
- Unavailability Message: A brief message should the guest try to place orders after hours.
- Order Notes Prompt: A text box that appears at the end of the guest ordering flow to account for any guest requests (example: "Any special requests?"). The guest notes will appear on printed tickets and on the KDS.
- Order Prompts: Customized prompts that are either binary checkboxes or an open text field for the guest to write in displayed on the payment screen. The best use case for the checkbox prompts include napkins, sauce, water, extra plates, extra utensils, and see server. The open text prompt can be set to required - a great use for the prompt is for curbside ordering, ensuring guests enter their vehicle make and model.

- Allow Order Notes: Order notes are an open text field for guests to write freely during checkout. The guest notes will appear on printed tickets and on the KDS. You can choose to set up order note prompts or simply hit yes under allow order notes.
- Order Lead Time (Min): Time needed to fulfill when the guest places an order.
- Maximum Advance Order Days: Furthest ahead takeout orders can be placed.
- Schedule Time Step (Min): The time increments guests select from when placing an order (5, 10, 15, and 30 minute increments).
- ASAP Only Zone: All orders placed in the zone will be scheduled as soon as possible. This will disable the ability to allow any scheduled orders.
- Allow ASAP Orders: Allows orders to be scheduled as soon as possible.
- Automatic Order Confirmation Text: This sends the guest an SMS message confirming their order. This should always be enabled.
- Automatic Order Fulfillment Text: This will send a guest an SMS message confirming the completion of their order once it is fulfilled on the KDS.
- Show Tips Selector By Default: This setting controls whether the guest views the tip selector bar.
- Searchable: Hides this zone from any spot selectors. The spots in the zone may only be accessed by scanning a code or using a direct link. This should always be enabled.
- Joinable: Allows open tabs to be joinable at this zone.
- Discoverable Server Tabs: Allow tabs started by servers to be discoverable when guests scan the spot QR.
- If Discoverable Server Tabs is toggled on as YES: Initial Tab Discoverable: Allows operators the ability to choose the time that discoverable tabs start at.
[^1]: Feature Definition:**“How to create a Takeout Zone”
[^2]: When to Use: (Add one or more of the bullet points below)**
[^3]: Benefits:**Takeout Service and pre-sales.
---
# How to Create A Modifier
URL: https://docs.gotab.io/operator/menu-management/creatingamodifier/
Description: You can customize your products with any modifier and also choose a default option for guests upon ordering.
## You can customize your products with any modifier and also choose a default option for guests upon ordering! Common modifiers are meat temperatures, side choices, or portion sizes.

---


- Name: Name of the modifier
- Short Name: This will display on the chit and KDS order cards
- Description: Description of the modifier for the guest
- Open Text Mod: A blank box for the guest to input any information about their order
- Add Product As Option: Add an existing Product as an option (easily searchable)
- Price: This amount will be added to the item's base price
- Add Option: Click this to add more than one option
- Convert Back To Checkbox: Allow the modifiers to be presented in a checkbox design
- Allow Multiple Selections: Allow multiple selections of each modifier
- Require: Require the customer to choose a modifier
**Selecting a Default Modifier**
You can also choose a**default modifier. **This allows operators to specify modifiers that auto-populate upon ordering a product. Choosing a default modifier helps improve the speed of POS orders and streamlines the guest ordering experience.
To select a default modifier, select the checkbox below the modifier option:

[^1]: Note* If you are using our Option Groups, please see [this article](/operator/menu-management/intro-to-option-groups/). *
[^2]: Step 1: Click the lined (Update Product Options) icon on the product you are adding modifiers to. **
[^3]: Step 2: Choose your option. In this case it would be +add modifier.**
[^4]: Step 3: Add in the following information and press save!**
---
# Call to action (CTA) buttons
URL: https://docs.gotab.io/operator/menu-management/cta-call-to-action/
Description: Provide your guests a distinct button linking to an external URL, whether it's your website or social media.
## Provide your guests a distinct button linking to an external URL, whether it's your website or social media.
**CTA On Customer Receipt Page**
-In the GoTab Manager Dashboard, navigate to Location Settings--Edit--Edit Location.
-Add your URL and button text.


**CTA On Notices**
-In the GoTab Manager Dashboard, navigate to Notices.


---
# Creating a delivery zone
URL: https://docs.gotab.io/operator/menu-management/delivery-zone/
Description: To create a Delivery Zone in GoTab, first create your delivery boundary map in Google Maps, then configure your zone settings and spots.
## How to Create a Delivery Zone
To create a Delivery Zone in GoTab, you must first create your map in Google. This will define the boundaries of your delivery area.
- Navigate to Google Maps to get started

(1) Use the drawing tool to create a region.
- Important: The region must be completely closed and drawn with a continuous line.
(2) Select the menu tool on the layer for your map.
---

(1) Open Menu
(2) Select Export to KML/KMZ
---

(1) Select the appropriate layer
(2) Check "Export as KML instead of KMZ..."
(3) Download
- Once you have the .KML file of your delivery map, please email the file to your GoTab Account Manager and they will upload the map for you.
---

(1) Navigate to the Zones section of the manager dashboard
(2) Select "Update Zone"
---

(1) Name of the Zone (a container for spots [QRs]). This could be a specific pickup location like East Entrance or Host Stand. Whatever best communicates to the kitchen/expo - it will be printed on the order ticket.
(2) Minimum amount of purchases (in dollars) required to place an order.
(3) Tip scale. You can make different tip scales per zone or you can leave it blank which will default to the master tip scale in location configurations.
(4) Requires the customer to have a phone number and verified CC on file. Takeout does not allow open tabs. Orders must be paid before tickets print (or pop up on the KDS) at your location.
(5) A brief message when the Zone is off should the guest try to place orders after hours.
(6) A pre-filled message in the notes before the guest writes their own (guests can write openly in this section before checking out which will print on tickets and display on the KDS).
(7) Customized checkbox prompts for the guest checkout page (napkins, sauce, etc.)
---

(8) Allows open text field for guests to write freely during checkout. Prints on tickets, and displays on the KDS.
(9) Time needed to fulfill when the guest places an order. *
(10) Furthest ahead takeout orders can be placed.
(11) Interval selections while guest is ordering: 5, 10, 15, 30 mins. *
(12) Allows immediate orders with 0 lead time.
(13) Allows the guest to select the delivery spot from your main location page (recommended to leave on). If this is off they will have to scan a QR to order from that spot - they won't be able to find it from the main location page.
---
Navigate to the Zones page:
(1) Click "Manage Spots"
(2) Click "+" Symbol
---
Single Spot creation tool: Makes your QR codes - accessed on the QRs page.

(1) Select "Single Spot" (creates 1 QR) or "Multi Spots" (creates batch QRs)
(2) Name your spot
(3) "Confirm" to save changes or "Reset" to start over.
---
Multi Spots batch creation tool: Make multiple QRs at once.

(1) Select "Multi Spots"
(2) Name your Spot in the "Spot Prefix" box and designate number of spots
OR
(3) Name the "Spot Prefix" and enter a Start / End number of Spots.
---
- *Fields (9) and (11) under "Update Zone" can be used for order throttling
- Navigate to the "Links & QRs" page in the GoTab menu to access your new Spot QRs
- Set up a delivery fee
[^1]: For a zone to be functional you MUST make a spot**.
---
# How To Update Availability of a Product through the Manager Dashboard
URL: https://docs.gotab.io/operator/menu-management/how-to-86-or-disable-an-item/
Description: In your GoTab Manager Dashboard, KDS, or POS you can hide or mark an item unavailable in case you run out of stock.
In your GoTab Manager Dashboard, KDS, or POS you can hide or mark an item unavailable in case you run out of stock.

>
> You can go one step further and use our bulk edit options feature to update the availability of your product modifiers.
> Click the "fry" icon on the top right of the product catalog.
> Bulk Edit Options
> Choose "Options Availability" which allows you to easily mark your modifiers Available, Unavailable, or Hidden. You can scroll or search for a modifier here.
>
> To learn how to do this on your KDS, click here.
> *When stock levels hit 0, the product will be temporarily disabled. Whether automatically or manually marked unavailable, the product will be automatically re-enabled the following day. You can adjust this setting under Location Settings > Edit > Re-enable Unavailable Products Overnight is turned ON/OFF
[^1]: Available:** Item is available and in stock on your menu
[^2]: Unavailable:** Item is out of stock. When an item is unavailable, it will show up as "Out of stock" to the guest.*
[^3]: Hidden:** Item is out of stock until you manually make it available again. When you hide an item, your guests will not be able to see this item on your live menu until you make it available again.
---
# How To Print Your QR Codes
URL: https://docs.gotab.io/operator/menu-management/how-to-access-your-qr-codes/
Description: Each spot at your venue will have its own unique QR Code so your staff knows where to deliver placed orders to.
Each spot at your venue will have its own unique QR Code so your staff knows where to deliver placed orders to. This article will show you how to print your QR Codes so that you can place them in their correlating spots or zones for the guests to scan and order from.
### Step 1: Navigate to your QR Codes page and select the spot(s) and click "Print Codes"

---
### Step 2: Print

You can also use our Template Builder to create QRs that include your logo and text for in house printing. There are 6 layout options to choose from here.
1. Pick your spot(s) you want included and click Next.
2. Choose the layout you'd like and click Next. 
3. Upload your Logo under Assets, change the primary color, and select which Logo you'd like to use, then click Next to see your Preview.

4. You can go back to previous steps if you'd like to make further adjustments or simply click Generate from the Preview page to download a PDF of all your QRs.

---
# How To Create a Notice
URL: https://docs.gotab.io/operator/menu-management/how-to-add-a-notice-on-your-menu-site/
Description: Notices is a tool operators use to add a layer of communication between them and their guests.
## Notices is a tool operators use to add a layer of communication between them and their guests.
You can mass communicate messages to guests including highlighting a promotion, warning the kitchen is backed-up, or communicating any other updates. In addition, you can add videos, pictures, schedules, and even coupons to your notice.

You can modify the following for your notice:

First, you'll choose the name for your notice and where you'd like it to appear. If you only want it to appear on certain menus or zones, you can choose those next. Additionally, you can choose to only have notices appear for users in particular segments. If you'd like your notice to appear more than once for a customer, you can edit that next. Finally, you can control how much time in days, hours, or minutes that you'd like to pass before your notice will appear again for a particular customer. Under Advanced Settings, you can control the exclusivity of your Notice.
Once you have decided where and how often you'd like customers to see the notice, you are ready to add text. This text is completely customizable to make your Notice appear exactly how you'd like. You also have the option to add a coupon or a CTA (call to action) button*. Call to action buttons allow you to create a hyperlink for guests. A few use cases could be directing them to your website, a featured menu, or to sign up for your loyalty program.
*only one option here can be selected for each Notice.

How a notice will look on your QR menu for guests:

Click [here](/operator/menu-management/cta-call-to-action/) to learn how to add a CTA Button to digital receipts.
[^1]: To create a notice press Notices > + Add Notice**
---
# How to add GoTags (filters) to your Products
URL: https://docs.gotab.io/operator/menu-management/how-to-add-filters-to-your-menu/
Description: GoTags are external tags that act as filters for your customer-facing menu.
## GoTags are external tags that act as filters for your customer-facing menu.
The benefit of using GoTags is to make it easy for your customers to filter through your menu easily. I.e. The customer can just click the "Vegetarian" filter to just show them your vegetarian options.
---
Navigate to your Product Catalog and choose the product you want to add a filter to:

---
After clicking the pencil icon, scroll down to tagging:

Choose the tag you want to add to this item. Make sure you choose a **dark blue** tag. Then press save.
Now, navigate to your menu to see it in action!

If you have any filters that you need to be added to your menu that is not currently offered, please contact us at support@gotab.io or reach out to your designated account manager.
---
# How to Add Products to your POS but not Customer QR Ordering
URL: https://docs.gotab.io/operator/menu-management/how-to-add-products-to-your-pos-but-not-customer-qr-ordering/
Description: You can configure certain products to only be shown on your POS ensuring they can only be ordered through a server.
## You can configure certain products to only be shown on your POS ensuring they can only be ordered through a server.
The best way to do this is to be on Menus view **not**Category Browsing.
To ensure you are in Menus view, navigate to Location Settings > Edit > Catalog Browsing is turned OFF
If you want to exclude entire categories from QR Ordering, you will exclude them from any menus you create.
Example: All merch needs to be ordered with a server or at the front.
Create a Merch category.
When setting up menus, do not add the merch category to any menus.
Now, the Merch category will just show on the POS and not QR Ordering.
If you want to exclude certain products within categories from QR Ordering, you can do this with internal tags.
For example, choose your product.
Next, create a tag called "pos only."
To create a tag, navigate to the products needing to be excluded from QR Ordering in your Product Catalog:

You will then write in the tag. You want this tag to be the **light blue** color.
Your product should then look like this:

Then, navigate to the menu the category of this product is in and press the filter icon > exclude only > choose the tag. In this case we will select the "posonly" tag.

Now, any product with this tag will be excluded from the menu even though the category is configured to show.**The product will still show on the POS. **
[^1]: Note: This does not change how you create products and categories.*
[^2]: Exclude entire categories from QR Ordering: **
[^3]: Exclude products within categories from QR Ordering:**
---
# How To Restore Your Archived Products
URL: https://docs.gotab.io/operator/menu-management/how-to-archive-your-products/
Description: Managers can bring back archived or deleted products to a category of their choice using the bin icon in the Product Catalog.
- Managers can bring back archived/deleted products to a category of their choice.
- An archived category can also be restored when selecting products to restore.
- This feature enables a deeper level of menu management and will reduce time and cost for operators.
Step 1: Click the bin icon in the [Product Catalog](https://manager.gotab.io/manager/products?pick_loc=1) to get started.

---
Step 2: Search and select products from the archive.
**
---
**
[^1]: Step 3: Choose a category and restore the selected products.
---
# How to assign a barcode to a product
URL: https://docs.gotab.io/operator/menu-management/how-to-assign-a-barcode-to-a-product/
Description: GoTab uses barcode scanning technology which allows operators to assign a barcode to any of their products. This technology allows products to be scanned via th
## GoTab uses barcode scanning technology which allows operators to assign a barcode to any of their products. This technology allows products to be scanned via the POS when added to the cart. Operators can assign a barcode to a product by either connecting a barcode scanner via usb to their computer or by manually typing in the code on the barcode.
To assign a barcode to a product, navigate to the product and choose the "control stock levels"

Choose the barcode scanner option:

You can also add a barcode to a variant option:

Then, scan the barcode of the item. In this case you would want to scan the barcode on the RLRL Krude Kolsch.

OR you can enter in the digits from the barcode:

Once a barcode is associated with the product it will appear like this:

Must be ***all*** digits. Letters are not supported.** **
[^1]: Recommended Scanner: Zebra DS2208
[^2]: Originally, we were capable of supporting only UPC-A and EAN-13. Now, with the above scanner, GoTab can support barcodes between 5-13 digits which include, but are not limited to, the following formats: UPC-A, UPC-E, EAN-13, EAN-8, EAN-5 and ISBN.
---
# How to Bulk Edit Products Within a Category
URL: https://docs.gotab.io/operator/menu-management/how-to-bulk-edit-products-within-a-category/
Description: Bulk Product Editing allows you to edit all products within a category without having to edit each product individually.
## Bulk Product Editing allows you to edit all products within a category without having to edit each product individually.
- Category > press the second icon from the left, named "bulk edit products within category"

A panel will then populate where you can edit the settings on all of the products in that category.

[^1]: To make bulk product changes navigate to your Product Catalog**
[^2]: Note:**Please keep in mind, these changes will apply to **all**products within the category that you are bulk editing.*
---
# How To Change Tip Suggestion Calculation
URL: https://docs.gotab.io/operator/menu-management/how-to-change-tip-suggestion-calculation/
Description: In this article we'll show the two tip percentage calculations you can use to calculate tip percentages on a tab.
## In this article we'll show the two tip percentage calculations you can use to calculate tip percentages on a tab.
All tip defaults are set at the [Zone](https://manager.gotab.io/manager/zones?pick_loc=1) level of the GoTab Manager Dashboard. These are the tips guests will see at checkout in QR/online orders, as well as on a customer facing display paired to a POS.

Within these zone settings, you can adjust whether to calculate the tip percentage off of the payment amount remaining due *or* on the untipped subtotal amount. 
In the below example, we've made a $5 partial payment on a tab with a gift card.

Now we're going to set our subtotal tip suggestions to no.

When we do this, note our 20% tip suggestion is $4.86. This is based on the reduced amount from the $5 gift card payment, less the tax on the $5 payment.

Now we'll set our tip suggestion to YES based on the untipped subtotal.

Now we see our 20% tip suggestion is $5.79. Here, we don't take the $5 partial gift card payment into account and take 20% off of the subtotal before any partial payment occurred.

---
# How To Create A Delivery Map
URL: https://docs.gotab.io/operator/menu-management/how-to-create-a-delivery-map/
Description: Learn how to create a delivery map in Google My Maps and upload a KML file to define delivery zones in GoTab.
1. Navigate to Google Maps.
2. Input the operation's address into the search bar.
3. Use the drawing tool to create a region. The region must be drawn as a closed shape.
4. Select the menu tool on the layer for your map.
5. Export the layer to KML.
6. In the modal, select the correct layer and click the checkbox next to, "Export as KML instead of KMZ. Does not support all icons."
7. Hit Download.
Below is a screenshot demonstrating what a correct delivery zone would look like when creating in Google Maps.

In **GoTab, on the [Zones Dashboard](https://manager.gotab.io/manager/zones?pick_loc=1)**
1. Hit Zones
2. Click Delivery
3. You will need to create a zone just like you did in the previous lessons.
4. Once you create your zone, press "Define Delivery Zone"
5. Click upload a .kml file to create your delivery map in GoTab.
Define Delivery Zone

Upload a .kml file

***Notes**:
*-You can only save one zone per map (so not multiple shapes/zones within one KML file).
-Type needs to be a single Polygon. If you see anything about Linestring etc. within the KML file, it's not a singular closed Polygon shape and you will not be able to upload the file.
Below shows what it looks like in the GoTab Manager Dashboard when a delivery map has been uploaded to your delivery zone(s).

[^1]: First Create Map In Google My Maps**
---
# How To Manage Your Product Catalog
URL: https://docs.gotab.io/operator/menu-management/how-to-manage-your-product-catalog/
Description: Learn how to add categories and products to your product catalog.
## Learn how to add categories and products to your product catalog.
Start by creating your category, if it doesn't exist already (Appetizers, Entrées, Beers, Cocktails, Etc.). Next,** **create products in that category (Burger, Fries, IPA, Etc.) Then, customize your products by adding in modifiers!
Navigate to your [Product Catalog](https://manager.gotab.io/manager/products?pick_loc=1)
**Add a Category**
To add a new category, scroll to the bottom of the page and click**+Add Category**.
---


---
**Add Products**
Products live within a given category. To create a new product, click the category, scroll to the bottom of that category and press**+ ADD PRODUCT**.


---
- Name: Name of your item
- Short Name: Shortened item name. This is what will display on your chits and KDS
- Base Price: The base price of this item is what is actually charged
- Display Price: This is what the guest will see as a price, but does not change what is actually charged. A common use case is for coffee where guests may need to choose a size. Display price could say Price Varies or something like $4 | $6, indicating they'll have size options to choose from with varying prices.
- Description: A description of this item. This is a great place to add allergy indicators such as GF
- Staff Notes: Internal notes you can make on a product that only your staff can see such as recipes, how to prepare items, etc.
- Category: Category that this item lives in
- Product Type: is related to a specific integration and most commonly left unselected.
- Max Order Qty: How many orders of this item can the guest place
- Tax Rate: The tax rate of this item
- Prep Time: This will display to the guest how long it will take to prepare this item
- Show Prep Time On Menu: Show customers how long the prep time is for this item.
- Revenue Account: Choose what revenue stream you want to associate this item with (i.e. Food, Alcohol, Merch, etc.). Click the cogwheel to add a new revenue stream
- Stations: Which station KDS and/or printer this item will get sent to when ordered (This is required)
- Status: This will enable the item on the menu
- POS color picker: Choose a color to identify this item on the POS.
---
**Manage Modifiers**
Press the three lined icon on the product.

Click the pencil icon to edit a modifier or click Add Modifier to add a new one.
****
-If adding a new modifier, fill out your modifier details.
****
**Name:** Name of the modifier
**Icon/Button Key**
Edit product details. This is where on the product level you can edit the price, description, tax rates, account reporting etc.
Add a schedule. Note that when your location is in menu view, adding a schedule to a product is disabled. Scheduling then should be handled at the menu level, rather than item level.
Add/edit image.
Add/edit modifiers.
Add/edit new option groups. When these option groups are enabled you will no longer see the old modifier icon. Learn more about new option groups [here](/operator/menu-management/intro-to-option-groups/).
Copy product. This allows you to copy a product from one category to another.
Duplicate product. This allows you to make an exact duplicate of your product in the same category, making it easier to edit new items that have a similar setup as existing ones.
Add/edit stock levels.
Audit log showing updates/edits from previous 7 days.
Archive.
Click [here](/operator/getting-started/getting-started-creating-a-menu/)to learn how to create menus or add your newly created categories to an already existing menu.
[^1]: Note: If any filters are selected at the top (Enabled, 86d, Disabled) or you have anything in the search box, the ability to add categories or products will not show until set back to ALL for the filters and the search box is empty.*
[^2]: Short Name:** This will display on the chit and KDS
[^3]: Description:** Description of the modifier for the guest
[^4]: Open Text Mod:** A blank box for the guest to input any information about their order
[^5]: Add Product As Option:** Add an existing Product as an option (easily searchable)
[^6]: Price:**This amount will be added to the item's base price
[^7]: Add Option:** Click this to add more than one option
[^8]: Convert Back To Checkbox:** Allow the modifiers to be presented in a checkbox design
[^9]: Allow Multiple Selections:** Allow multiple selections of each modifier
[^10]: Require:** Require the customer to choose a modifier
---
# How To Upload Product Images/Videos
URL: https://docs.gotab.io/operator/menu-management/how-to-upload-product-images/
Description: You can add product images or videos to your products and menus to further maximize your guests QR ordering experience.
## You can add product images or videos to your products and menus to further maximize your guests QR ordering experience!

To add images to specific products, navigate to your product catalog and click on "Update Image/Video" in order to upload your image.

To add images to your menus:

**Menu Example:**

[^1]: Note: Make sure your display mode is set to Standard or Media to ensure pictures will show on the menu. *
---
# Option Groups
URL: https://docs.gotab.io/operator/menu-management/intro-to-option-groups/
Description: In this article we are going to cover our new Option Groups.
## In this article we are going to cover our new Option Groups.
Option groups are our brand new way to handle product options versus our old modifier structure. They provide easier management of options across many products, as well as the ability to nest options within other options (we call that "Linking").
If you're interested in Option Groups, please reach out to your dedicated customer success manager to discuss turning them on for your location.
---
## Intro to Option Groups
::video{src="/videos/new_option_groups2.mp4"}
To add any new Option Groups once turned on for your location, navigate to your [Product Catalog](https://manager.gotab.io/manager/displays?pick_loc=1)and toggle over to Options--Add New Option Group.

We are then brought to this screen where we input our option group details.

**Group Details**
- Option Group Name: The name as it will show in your manager dashboard. This is a good place to be specific for better backend option group management. In our above example, we may end up with 5 different sets of option groups that are size based but they're different sizes for different products. Rather than just naming it "Size", we name it Draft Beer Size for easy recognition. If we didn't do that, we could easily end up with multiple similarly named option groups so this is a good place to be specific and then use the display name to display a basic size name to your guests and in the POS/KDS.
- Display Name: This is what your guests see and what you see in the POS and KDS (shown in KDS if you have "Show Modifier Names" toggled on in your KDS settings).
- Short Name: This is the name that will show on printed chits.
**Group Settings**
- Status: We set our option group as available, unavailable, or hidden.
- Total Selections: This is where we set a minimum/maximum set of choices. A minimum of 1 and maximum of 1 or more is how we set an option to be required. In the above example, we have our beer size option set to min 1 and max 1 so a guest is forced to choose one and only one option.
- Autofill: This feature is a count the total number of options within the group and allows for a single click to autofill that number for a min or max selection.
**Adding Options**
****
On the righthand side is where we add the choices within each option group. We'll cover bulk linking and any linking of options later.
Add our option choices in the "New Option Name" field. You can simply hit ENTER rather than having to actually manually click Add +, for faster option entry. As always with options, remember to hit save to submit any changes you make to an individual option or entire option group.
## Single Selection Option Group
::video{src="/videos/single_selection_option_group.mov"}
In our single option select video above, we show an instance where you would have a single selection option such as Meat Temperature for a steak with no additional prices added to those options. It's also what we showed in our intro section where our min/max are set to 1. Single option selection scenarios are cases where you would never want a guest to select more than one option on the product, such as:
- Size for beverages, pizzas etc.
- Dressing for a salad
- Bread option for a sandwich
## Multi Selection Option
::video{src="/videos/multi_selection_option_group.mov"}
A multi selection option can be something like a Taco Plate where it's 3 tacos to a plate and you need to select multiple options, as well as to be able to select multiples of a single option.
In our example below, we created a Taco Plate options group and added the various taco options a guest can choose from. We set a min of 3 and a max of 3 which says the guest must choose 3 tacos. By clicking the down arrow on each option, we toggled on the additional setting of "Allow Duplicates" which means that we're saying that multiples of this option can be selected. In a taco plate, someone may want 1 Carnitas, 1 Carne Asada and 1 Al Pastor, or they may just simply want 3 Al Pastor tacos. If allow duplicates is left off, you're then only able to pick 1 of each variety up to our maximum set in total selection, which for our example below, is 3.

Our option groups come with this Preview option. This allow us to click the options as a guest would in the ordering flow without having to actually scan into a menu. Here, we show in green that 3 of 3 selections have been made, comprised of 2 Al Pastor tacos and 1 Carnitas taco. We're able to add 2 Al Pastor tacos because the previously mentioned "Allow Duplicates" setting was toggled on for each option within our Taco Plates option group.

::video{src="/videos/side_add_on_master_option_group.mov"}
Our side add on video here is very similar to what we show in our intro for side options as an option group but we also now start to incorporate pricing of options and linking of option groups.
To add a price to an option, we click our down arrow on the specific option within our option group and add a price and save our change(s). For our example below, now when a guest chooses French Fries as their sandwich side, we are charging an additional $1 for that option.

Now looking at our side options, we see that we have a side of baby greens. With this side of baby greens, we would like our guests to choose their salad dressing. How do we do that?
First we make our Salad Dressing options group with the various dressing options. For our Salad Dressing Options, we set our min to 1 and max 1. To get to the dressing selection, you have to click the Baby Greens option. If we don't set our Salad Dressing Options as required (min 1), then we would be able to place an order for Baby Greens with no option selected for a dressing. This would be confusing for servers, as well as the kitchen, so it is always good to ask "Should I be required to make a selection for this option?"

Now we go back to our Sandwich Sides option group and click the down arrow on Baby Greens--Link Option Groups.

This will bring up our bank of option groups we've created and the option group we want to link to. For our purposes here, we're selecting our Salad Dressing Options and clicking Select Option Groups at the bottom.

You will now see that there is a linked option group. Ours here is the Baby Greens option.

We can preview our Sandwich Sides option group and click through Baby Greens to see that we have linked our Dressing option to the Baby Greens option.
Notice the arrow to the right of the Baby Greens option. This indicates that there is another selection to be made if we choose Baby Greens as our Sandwich Side option.


## Ingredient Add Master List
In our *add *ingredient master list scenario, we're looking at situations where we have commonly shared ingredients/additions shared across multiple items.
Below we have already created a Sandwich Additions option group with the various additional options available to add to our sandwiches.

As shown previously, once created, you can apply an option group to entire categories. Here we select the categories and click submit.

Now we have our sandwich additions option group shared to our two sandwich categories, but what if I don't want a single option within an option group to apply on a specific product but the rest of the options I do? You don't need to create an entirely separate set of option groups, but rather adjustments can be made individually at the product level.
Below, we have a toasted pesto chicken sandwich. This sandwich is dropped on a panini press. Warm lettuce equals wilted lettuce so we don't even want to give our guests the option to add lettuce to our chicken sandwich. We can click into our options for this product and click the pencil icon to edit the options.

We can hover over the green dot on the far right of our option to enable/86 or disable an option then click Save Changes. We've now gone ahead and disabled our lettuce option ***only*** on this pesto chicken product. We're not out of lettuce for all products this option is attached to, but rather we want to limit lettuce from being added to this specific product.

::video{src="/videos/ingredient_remove_master_list.mov"}
An ingredient *remove *list is very much the same concept as adding, but rather something we may want to remove. One such use-case would be for salads where you may have many shared ingredients across all of your salads and rather than having an open text field that is harder to read for your kitchen staff, it is easier to create an options group named in a way where guests know they are removing the option(s) from whatever it is they are ordering.
## Variant Option Groups
::video{src="/videos/variant_option_groups.mov"}
Variants allow us to create a seamless ordering experience where multiple choices must be made to order a single product and each choice is linked to a different inventory level for tracking. Merchandise often comes in various sizes, and within each size you may have many different colors or styles to choose from within that size. Each style/color has its own inventory level that contributes to your overall inventory per size. For example, we may have 100 small-t shirts but it may be that we have 95 small black t-shirts 3 small grey t-shirts and 2 small white t-shirts making up that overall 100. Variants allow us to track the inventory on these products.
Very similar to the video, we're adding a T Shirt Sizes and Colors variant group. Within this group, we will have a variant for the size of the t shirt as well as the color. Below we've already added our sizes and now within this T Shirt Sizes and Colors variant group, we're going to add a new variant group. This will allow us to also have to choose a color, as well as a size on our t-shirts.

We added our colors and now we see when clicking the dropdown arrow on our T Shirt Sizes variant group that we now see that there is both a size and color option to choose for a t-shirt.

For a guest ordering, we now see here that we have selected our small size on the t-shirt, denoted with the green 1/1 icon, but we still must choose our color option to accompany the small t-shirt option we already chose.

Now that we have our sizes/colors added and we see it looks as it's supposed to within the ordering flow, let's adjust some prices and stock levels on our t-shirt. Any prices and stock levels are not set on the overall variant group level that we just created, but rather you must set them at the individual product level, as we always have with variants.

If we wanted to set prices differently per variant, then we can do so by toggling over to Variant Details. For our purposes, we are selling all of our shirts for $20 regardless of size/color so we just set a base price of $20 on our t-shirt. If we instead wanted to set the price on each variant, we could set our base price of our t-shirt to $0 and then set our prices here within Variant Details.

When managing the stock, you can individually add additional stock on a per variant basis or for our case here, we're saying we got a fresh restock of 25 each so we can use the bulk edit at the top to quickly add 25 of each at once.

::video{src="/videos/option_group_and_product_option_editing.mov"}
[^1]: Side Add On Option Group w/ Linked Option**
[^2]: Note: Be sure to click save changes before exiting. Changes are not saved until you click Save Changes.***
[^3]: Ingredient *Remove* Master List**
[^4]: Option Group and Product Option Editing**
---
# Managing your stock levels
URL: https://docs.gotab.io/operator/menu-management/inventory-management/
Description: Stock level management is critical to operations to measure food and beverage costs.
## Stock Level management is critical to operations to measure food and beverage costs.
**How To Manage Stock Levels**
Filter by tracked products, out-of-stock products, and variants.
1. In the Manager Dashboard, on the left navigation bar click "Stock Levels". You can also access the stock level of an individual product from the product catalog. Click on the Stock Levels icon below the product to adjust.
2. You can view inventory adjustments or reports
Adjustments
Tap on the specified category
3. When clicking on a product, under "Manage Stock" you can do the following:
- Recount: Put in a new count of inventory
- Received: Add in any newly received inventory from shipment to your existing count
- Loss: Record any lost inventory*
- Theft: Record any stolen inventory*
*these options will only appear if you are tracking the item with a count first. If no count has been entered yet, you will only see the options for Recount and Received.
Under "Inventory Details" you can do the following:
1. Par Level: Set a par level for a product
2. Out-of-Stock Action: Choose unavailable or Hide as the action once the item is out of stock
3. Untrack: Removes any inventory configured to this item2. Reports: View a report which can be filtered by any of the adjustment types. View the user who adjusted the item.
Tap on the specified category
4. When clicking on a specific product and selecting a date or date range, you can view and download the following reports:
- Orders Report
- Recount
- Received
- Loss
- Theft
- Incremental Stock Adjustments
- Decremental Stock Adjustments
5. After choosing an option, press submit to see the report or download the report

**Key Terminology**
- Tracked: Refers to a set stock level.
- Untrack: Removes all associated stock levels to a product
- Par Level: The inventory needed to fulfill demand. This will make the stock level red if the stock count falls below the par level.
- Stock Level: Refers to the amount of the product.
- Reserved: The amount of a product that has already been placed for future orders (takeout and delivery).
- Available: The amount of a product left available after the reserved orders.
- Out-of-stock action:
Disable Product: When stock levels hit 0, the item will be disabled and removed from the customer-facing menu until manually re-enabled.
- 86 Product: When stock levels hit 0, the product will be temporarily disabled and automatically re-enabled the following day. On the customer-facing menu, the product will still appear, however, the product will be marked as out of stock and will be unavailable for ordering.
To learn how to view your inventory adjustment and depletion reports, click [here](/operator/manager-dashboard/reports-inventory-depletion/).
---
# Item details on POS & KDS
URL: https://docs.gotab.io/operator/menu-management/item-details-on-pos-kds/
Description: The item detail functionality allows servers or kitchen staff to quickly bring up item descriptions and access 86ing and stock level controls.
## The item detail functionality allows your servers or kitchen staff to quickly bring up additional item descriptions, as well as quick access to 86ing and stock levels on a product.
**POS Item Details**
Long press an item in your POS to bring up the item description, photo, availability and stock level functionality.

**KDS Item Details**
Tap the bullet point to the right of the item to pull up the same item description and additional functionality on your KDS.

---
# Links & QRs
URL: https://docs.gotab.io/operator/menu-management/links-qrs-1/
Description: QRs store direct URL information allowing guest access to sections of GoTab for ordering, from location-level down to individual spots.
## Print Codes, Download .zip, Template Builder, Location QR, Menu QR, Zone QR, Spot QR, Segment QR.
**When to Use:**
- Dine in
- Takeout
- Delivery
- Multi-Location
**Overview:**
- QRs store direct URL information allowing guest access to sections of GoTab for ordering.
- The general hierarchy of QRs is as follows:
Location QR > Zone Group QR > Zone QR > Spot QR
Menu QRs operate semi-independently of Zones and Spots.
- See more about Menus
**QR Definitions:**
- Location QR: Opens the main location page for your venue
- Zone Group QR: Opens your location home page with that Zone Group selected
- Zone QR: Opens spot selection within that zone (e.g., Bar Zone opens to select Bar Spots 1-10)
- Spot QR: Opens the menu linked to that specific spot
- Menus QR: Opens the specific menu created and hosted on the location page
---
Navigate to the QRs page:

---
At the top of the QRs page, you will see a toggle and 3 buttons:
****
- Include Title: adds the name with the QR for easy identification (recommended to leave on)
- Print Codes: Opens options to print from browser or download as a PDF
- Zip: Downloads a zip file with QRs embedded.
- Template Builder: Allows you to choose from our templates, add your logo, and generate special QR codes for printing in house. You also have the option to order specially designed QR codes through your Customer Success Manager.


(1) Select or Deselect all QRs. For specific QRs click the checkboxes before downloading the zip or selecting print.
(2) Main Location QR
(3) All Zone Group QRs
(4) All Menu QRs
(5) All Zone QRs
(6) All Spot QRs

(7) All QRs tied to Unsecured Segments
(8) All QRs tied to [Coupons](/operator/cart-rules-segments-loyalty-memberships/how-to-create-a-discount-1/)
---

(1) Checkbox for specific QR selection to download
(2) Link to open the QR in browser and test scan
(3) Link copy to clipboard
---

Indication that the QR copy link was successful will display at the top of the QRs page.
---
Selecting the QR link (fig 2 above for test scan):
 (1) Print / Download this single QR from browser
(2) Scannable QR for testing
(3) Scan from browser to test (no phone required)
---
- See more information about Spot Management
- See more information about Discounts
- See more information about Segments
[^1]: Feature Definition:**“How to generate QR Codes and how to retrieve them.”
[^2]: Benefits:** Accessing QRs for marketing materials, promotional links, and discounts.
---
# How to Create a Menu
URL: https://docs.gotab.io/operator/menu-management/menu-creation/
Description: Menus allow you to pull in your products and categories from the product catalog into individual concise menus for guest ordering.
## Menus allow you to pull in your products and categories created within the product catalog into individual concise menus. Remember, all products must be created and edited within the Product Catalog.
Navigate to your Manager Dashboard, then press Menus > **+ Create Menu**


- Name: Input the name of the menu
- Short Name: This will automatically appear on the POS (EX: The menus name is Draft Beers but you make the short name Draft for ease of navigation)
- Searchable: Hides this menu from any user selection. The menu may only be accessed by scanning a code or using a direct link. Searchable on allows guests to navigate to the menu from the landing page. Searchable off keeps your menu accessible only by scanning a QR or clicking on a direct link. In most cases, searchable should always be enabled.
- Display Mode: This setting controls the menu layout. Standard view is the best option. This view will show pictures of products as well as the descriptors for seamless guest ordering.
- Menu Header and Menu Footer: Input announcements, hours of operations, and consumer warnings.
- Start and End Ordering Date: The ordering date is the time frame in which the guest can order from the menu. If not set, a guest can begin an order any time.
- Start and End Start Schedulable Date: The schedulable date is when the guest can pick-up their order.
Once you have finished filling out this information, click into the menu to finish the menu creating process.

- Schedule allows you to adjust when the menu is available for guests to view and order from
- Attach Image to display an image for your menu on the landing page
- Filters and Tagging allows you to include or exclude items that are tagged in your product catalog.
Example: Create a tag called "Bottle Beer" and tag all of your beer bottles
- Open Menu is a quick and easy way to access your menu for testing/viewing. Pro tip: Keep your menu with searchable set to "No" until you are done, and access from here.

- Menu: Allows you to edit all information already inputted.
- Categories: You will pull in categories that have already been created within the Product Catalog.

- Zones: The Zones header lets you choose where to have your menu available. The menu will adopt the settings of each zone that it is placed in.

- Segments allows you to have this menu be accessible to only a certain group of people.

- Access is used when sharing menus from one location to another, like in a food hall. It is also used when linking menus to third party integrations.

---
# Product Catalog Tools
URL: https://docs.gotab.io/operator/menu-management/menu-options/
Description: Use the product catalog tools to bulk edit options, update display order, upload or download menus, and access archived products.
## Bulk Edit Options, Update Display Order, Uploading Menus, Downloading Menus, Menu Item Archive
Use the product catalog tools when you need to bulk edit options, update your display order, upload a menu, download your menu, and or access your archived products.
You may notice some of these tools follow throughout the Manager Dashboard. It is important to understand these tools and how to use them.
---

---
From left to right the icons do the following:
- Bulk Edit Options
Options Availability: Allows you to easily update the availability of your items by marking them Available, Unavailable, or Hidden.
- Delete Modifiers: Using the bulk edit icon, you can delete modifiers in bulk. Deleting modifiers in bulk is helpful when a small change is made to an existing modifier that was applicable to many products so you can easily delete the old modifiers in bulk and copy a new modifier to all relevant products.

### Product Tools

Edit product details. This is where on the product level you can edit the price, description, tax rates, account reporting etc.
Add a schedule. Note that when your location is in menu view, adding a schedule to a product is disabled. Scheduling then should be handled at the menu level, rather than item level.
Add/edit image.
Add/edit modifiers.
Add/edit option groups. When these option groups are enabled you will no longer see the old modifier icon. Learn more about new option groups [here](/operator/menu-management/intro-to-option-groups/).
Copy product. This allows you to copy a product from one category to another.
Duplicate product. This allows you to make an exact duplicate of your product in the same category, making it easier to edit new items that have a similar setup as existing ones.
Add/edit stock levels.
Audit log showing updates/edits from previous 7 days.
Archive.
Click [here ](/operator/getting-started/getting-started-creating-a-menu/)to learn how to create menus or add your newly created categories to an already existing menu.
[^1]: Update Display Order:** Rearrange your menu categories
[^2]: Audit Log:** View a history of menu changes by use
[^3]: Upload Menu CSV:** Upload your menu from a CSV file *(not recommended) *
[^4]: Download Menu CSV:** Download your menu to a CSV
[^5]: Feature Definition:**The product tools are action items that you can use to upload an image, copy a product to another category, control stock levels, and/or delete products.
---
# Setting a schedule on your menu or zone
URL: https://docs.gotab.io/operator/menu-management/menuscheduling/
Description: Setting a schedule on a menu is helpful if you serve different menus during different times.
Setting a schedule on a menu is helpful if you serve different menus during different times.
You may notice there are multiple areas to set schedules on different categories, products, menus or zones.
For a higher level overview of *all* schedules at your location, Navigate to [Schedules.](https://manager.gotab.io/manager/schedules-view?pick_loc=1)

You will notice there is a section to view your zone and menu schedules. This will help you compare the two schedules to ensure there are no time conflicts. The "eye" icon on the left of your schedule lets you know if the menu or zone is searchable.
To set a schedule, press the schedule icon next to the zone or menu and press **+ add new schedule**

You can then select your days and times.
Schedules can also be set from the Menus or Zones pages directly.

For Takeout/Delivery Holiday or Special Menus that may be available for limited dates, you can also set beginning/ending ordering dates, controlling when this menu will be available to order from. You can also set when a guest can schedule pickup for an order from this menu by adding a date range to start & end schedulable dates.

In this example, guests can start placing orders from this Holiday Menu on December 2 and the last day they can place an order is December 22. The only available schedulable day is December 24 which means guests are ordering from this Holiday Menu 2nd-22nd but only for Takeout/Delivery on December 24.
[^1]: Note: Schedules can only be set in 30 minute or hour long increments. *
---
# Option quantities on modifiers
URL: https://docs.gotab.io/operator/menu-management/option-quantities/
Description: Use option quantities if you want to allow your guests to select multiple selections of your modifiers.
## Use option quantities if you want to allow your guests to select multiple selections of your modifiers!
---
You can choose a minimum and maximum amount for your modifiers. This allows guests to order multiple sides, sauces, etc.
Navigate to your modifier group and decide your minimum and maximum amount:

It will show the amount of options available for guest orders:

---
# Throttles
URL: https://docs.gotab.io/operator/menu-management/order-throttles/
Description: Throttles control the amount of orders that are placed during a period of time.
## Throttles: Control the amount of orders that are placed during a period of time.
Throttling is a functionality used to limit the number of orders that can be ordered by guests during a certain day and time.
- Throttles can only be assigned to Takeout/Delivery zones.
- IMPORTANT NOTE: The zones must have the same schedule step (15 minutes, 30 minutes, etc.) to share a throttle.

---
How to Create a Throttle:
Click on the "throttle" button on the top right of the zones screen.
Press **+create throttle**
- Name: Throttle Name (e.g., Holiday)
- Order Limit: Amount of orders that can be submitted
- Subtotal Limit: Limit the subtotal amount
**
When attaching throttles to a zone, you have to make sure the time step matches the throttle you need for that zone.
For example, if you want to limit orders to 5 orders every 10 minutes, you will set the order limit on the Throttle to "5" and set the time step to "10." Once the maximum orders have been reached for each 10-minute increment, guests will no longer be able to select that time to order.
---
- Edit your throttles schedule
- Update the display order of your throttles
- Toggle your throttle on or off

[^1]: The Throttle button at the top right is available on all zones pages and is used to add/edit/delete throttles. Set a throttle on a zone by clicking the Set Throttles dropdown shown in the lower left.*
[^2]: Attaching a Throttle to a Zone**
---
# Searchable: On vs Off
URL: https://docs.gotab.io/operator/menu-management/searchable-on-vs-off/
Description: Searchable is used for your menus and zones.
## Searchable is used for your menus and zones.
### Menus
**Searchable "YES"**
When searchable is set to "yes," on your menus, guests will be able to view the menu by scanning into the zone QR that the menu is set to be orderable in. For most cases, we recommend having searchable turned on for your menus.
When searchable is set to "no" on your menus, guests will need to have the menu QR to find the menu and order from it. The menu will not show anywhere else.
To find the menu QR:
1. Links & QRs
2. Menus
3. Select the menu QR
Use Cases:
- Special Events
- Private Menus

### Zones
**Searchable "YES"**
Enabling your zones to be searchable "yes" will ensure the zone can be found when hitting the zones option during "start order." We recommend always having searchable turned on for your zones. Most of the scenarios where this would be configured to "no" would be off-premise menus, events, or parties.
When searchable is set to "no" guests will be required to have the zone QR code to be able to view the menus configured to the zone. Guests will not be able to find the zone or spots configured to the zone when pressing the "start order" option.

### Schedules
When viewing your schedules dashboard, you can see if a menu or zone is configured to be searchable. The "red eye" icon indicates that a zone or menu is not searchable. This can be helpful when troubleshooting.

[^1]: Searchable "NO" (Turning off searchability)**
[^2]: Searchable "NO" (Turning off searchability) **
---
# Searching for products
URL: https://docs.gotab.io/operator/menu-management/searching-for-products/
Description: Search and filter your products by enabled, 86'd, or disabled status in the product catalog.
## Searching for products:

## You can also filter your search by ENABLED, 86'D AND/OR DISABLED. Just choose one of the options above!
---
# Zone/Menu Filtering with Tags
URL: https://docs.gotab.io/operator/menu-management/set-availability-tags/
Description: Use product tags and filters on zones or menus to fine-tune what products are available and where.
## Filter Products for each Zone, Product Availability, Product Scheduling
- Filtering alcohol to be excluded from Takeout Zone/Menus.
- Limit access to specialty priced items such as Happy Hour for Dine-In only.
First, we need to tag the product(s) that we intend to filter in the [Product Catalog](https://manager.gotab.io/manager/products?pick_loc=1) of the manager dashboard.
In our example here, we are going to click the paper icon on our Draft Beers to bulk edit and add a tag we're going to use to filter Draft Beers from our Online Orders Takeout Zone. The tag we're creating here is called **beertakeout**which we will type into the box and then click Add+.

Now we navigate to our Online Order Takeout Zone--Click Filter Icon
(1) Filters set for each zone/menu have 3 settings to choose from:
- All - every product in the product catalog that is enabled
- Include only - every product applying to the selected tag
- Exclude only - every product EXCEPT the selected tag
For our purposes, we're choosing Exclude Only--Choose Tag--Save

Now what we have done is filter any product that has the **beertakeout** tag on it from showing in any spot in our Online Order Zone.
While we did this for zones here, the same filter icon and methods of filter can also be done on Menus by clicking into specific menus and choosing how you would like to filter on that menu.
[^1]: Here we will show you how to use product tags and filters on zones or menus to fine-tune what products are available and where.
[^2]: Some Potential Use Cases Include:**
[^3]: Note that by clicking the bulk edit above, we are adding that tag to all items in the category. You can also click into individual items specifically to add tags if not all items in the category should have the tag.*
---
# Spot Management
URL: https://docs.gotab.io/operator/menu-management/spot-management/
Description: A spot can be a table, a seat at the bar, or any location where guests order. Spots can be renamed and moved between zones individually or in bulk.
## Creating a Spot, Managing Spots
- A Spot can be a table, a seat at the bar, or a literal spot by a palm tree. Basically, any "spot" you'd like to have your guests order from.
- Spots can be renamed and moved between zones from the Zones dashboard.
- Both actions can be done individually or in bulk.
- The spot URL will be updated for each QR accordingly.

---
Choose the spot(s) you want to edit. You are able to check all of the spots that these changes will apply to.
- Press the pencil icon to update the spot name
- Press the map icon to move spot to another zone
- Press the trash icon to delete spots (be sure these spots are no longer going to be used)

[^1]: Begin editing by pressing a spot/group of spots.*
---
# Variants: How do I set them up?
URL: https://docs.gotab.io/operator/menu-management/variants-how-do-i-use-them/
Description: If you wish to use variants and do not see them as an option, please reach out to your account manager or chat support to turn on variants at your location. Var
If you wish to use variants and do not see them as an option, please reach out to your account manager or chat support to turn on variants at your location.
### How to set up Variants
Variants are configurable in the same section as modifiers, under a “Base/Parent Product."
To create a variant choose your product and click "Update Product Options."

Then, toggle over to **Variants**and click** Add**
****
Enter your variant modifier name, which here would be size.
Then add the size options, which here are small, medium and large
Click**Create New Modifier**
*

Once we've saved our variants, then we click the Control Stock Levels icon to adjust the pricing for each variant.


Variants on guest QR Ordering:

As you see here, T-shirt is the “Base Product” and any combination of the color/sizes are the variants.
### Variant Beverage and Ingredients
Variants can also be assigned **units of measurement**.
Once the base product has been depleted, you’ll be able to run a [product mix](/operator/manager-dashboard/how-to-view-your-product-mix/) to get the total number of ounces sold of the base product, using variants!
To learn what Variants are, click [here](/operator/menu-management/variants/).
[^1]: Now be sure to save your new variant
[^2]: Note: Each combination will be a variant and treated as its own product associated with its own SKU.***
[^3]: Example:** A base product of “Pale Ale” might have three offerings: Taster, Half Pint, Pint. Each of these pour size options can be variants with 5oz, 10oz, and 16oz as their respective units of measurement.
[^4]: If you have any questions about Variants and how to use them for your operation, please reach out to your Account Manager or our Support Team!**
---
# Variants: What are they?
URL: https://docs.gotab.io/operator/menu-management/variants/
Description: Variants can be used to track Merchandise, Beverage efficiency, and Ingredients.
## Variants can be used to track Merchandise, Beverage efficiency, and Ingredients.
### Variants for Merchandise
You can create variants on products, resulting in an individual product that has multiple attribute variations available. For instance, if you offer a select T Shirt in multiple colors and sizes, you will be able to combine the different variations of the “T Shirt” product within one item, creating a seamless ordering experience for your guests and staff alike! Each variant of the “T Shirt” product can accommodate its own price, inventory count, par, and SKU for easier merchandise management and reporting.
- Seamlessly integrate merch into your menu
- Track inventory levels on each SKU (Your Small Blue Jersey will be tracked as 1 product allowing you to input the stock level associated to that size and color)
- Set ordering pars for each variant and view them in one place
### Variants for Beverage & Ingredient Tracking
In addition to using variants for merchandise, you can now assign a unit of measurement to a product to track the total units sold. For example, you can track the total ounces of a beer sold by assigning 5 ounces to a taster pour, 10 ounces to a small pour, and 16 ounces to a pint. When the life cycle of the beer has ended, simply run a report to see the total number of ounces sold!
- Beverage efficiency tracking and reporting
- Track grams of pizza dough sold
- Waste reduction
To learn how to set up your variants, click [here](/operator/menu-management/variants-how-do-i-use-them/).
---
# What is a Menu
URL: https://docs.gotab.io/operator/menu-management/what-is-a-menu/
Description: Menus are a compilation of items or categories meant to emulate physical menus, keeping your product catalog organized and concise.
## Menu Definition, Menu Use Cases
Menus are a compilation of items or whole categories meant to emulate physical menus in your establishment. Menu usage is optional, but serves as a great way to keep the presentation of items in your product catalog organized and concise. Menus should be used anytime you have more than one set of offerings.
Examples of use cases for Menus include:
- Regular offerings such as Lunch, Dinner, Kids, Brunch, or Happy Hour menus
- Categorically differentiated menus such as Beer, Wine, Cocktail, or Food menus
- One-off offerings such as Thanksgiving, St. Patty's, or Valentine's Day menus.
Menus can be scheduled to be turned on or off at specific times or days of your choosing, automating the process of switching out menus throughout your establishment. You can also generate QR codes or links to specific menus, enabling you to promote any menu of your choosing, without the added print costs or time-consuming edits with a graphic designer.
Pictures can also be added to enhance the presentation of your menu, and they will also present nicely on your location landing page. See below for examples of the landing page with menus enabled:

All the above menus are now interactable, and can be clicked on to view or order. Once a menu is selected, the categories chosen for the menu will show up below the Menu Dropdown:

To see how to create and edit a menu, please click [here](/operator/menu-management/menu-creation/?hs_preview=qwszQKxR-45592031770&hsLang=en)for the next article.
[^1]: Your guests can scroll through your menus here on the left hand side. **
---
# How do I add a recipe to my products to use the Task Display?
URL: https://docs.gotab.io/operator/menu-management/youtube-recipes/
Description: When utilizing the task display, you will pair recipes to your products.
## When utilizing the task display, you will pair recipes to your products.
By default, GoTab allows YouTube™ videos to be synced with recipe prep instructions. For a more robust recipe management tool check out our integration with [meez](/operator/integrations/how-do-i-connect-meez-recipes-with-gotab/?hs_preview=zUZdUhcj-96931849484&hsLang=en).
- Navigate to the product you are adding to the recipe and click on the product to edit it.
- Make sure you have the "YouTube Recipe URL" or meez recipe Id selected
- Paste the link copied from YouTube or enter the meez recipe Id
- Save your changes
[^1]: Navigate to your Product Catalog in the Manager Dashboard.**
---
# Zone overview and breakdown
URL: https://docs.gotab.io/operator/menu-management/zone-overview-and-breakdown/
Description: There are 3 types of zone groups: Dine-In, Takeout, and Delivery. All zones are created within one of these groups.
## Defining a Zone, Zone Groups vs Zones, Zone Types
There are 3 types of **Zone Groups**:**Dine-In**,**Takeout**, and**Delivery**. All Zones are created within one of these groups.
- Dine-In: Guests have immediate access to the menu from their table for asap fulfillment.
- Takeout: Guests place orders within specified time parameters for future fulfillment.
- Delivery: Guests provide address and place orders within specified time parameters for future kitchen / logistics fulfillment.
---
A**Zone**, on the other hand, can essentially be thought of as a revenue center. Create as many zones as you'd like to see sales areas separated by, or areas by which you may want to control different settings like hours, tip prompts, or menu item availability.

(1) Zone settings can be found under "Zones" in the GoTab navigation bar.
(2) These are your Zone Groups. They are simply containers for each Zone type and can be renamed for the guest facing side for example: "Curbside" vs "Takeout". Any name changes to Zone Groups are strictly cosmetic.
(3) You have options to delete or rename Zone Groups. It is NOT recommended to delete a Zone Group without contacting your Account Manager first.

[^1]: When to Use:**To change displayed ordering selections on the Location Page.
[^2]: Zone Audit Log: **The zone audit log allows you to see activity within your zone. You are able to see an audit log of any changes made from the zone group as well as the individual zone history.
---
# Order prompts on zones
URL: https://docs.gotab.io/operator/menu-management/zone-prompts/
Description: Order prompts can be added from the Zones dashboard and configured as checkboxes or open text fields, with optional required responses.
Order prompts can be added from the Zones dashboard by pressing Settings. Make sure you hit the save button after adding prompts.
### Prompt Configuration

[^1]: Order Notes Prompt**: Enter a descriptor for the prompt
[^2]: Order Prompts:** Enter a prompt for a checkbox or open text
[^3]: Prompt Type:** Checkbox or open text
[^4]: Required Prompt:** Require a guest to select or write on the order prompt
---
# Creating a dine in zone
URL: https://docs.gotab.io/operator/menu-management/zones-1/
Description: Dine In zones are for any customers that are inside of the restaurant ordering.
## Dine In zones are for any customers that are inside of the restaurant ordering.
To create a new Dine-In Zone:

(1) Navigate to the Zones page in the GoTab Manager Dashboard
(2) Select "Dine-In"
---
Add the Zone:

Scroll down and press **+ add zone**
Fill out the New Zone info. This info will apply to all spots (table QRs) within the zone. Different rules for different spots will require a new zone.

- Name
- Minimum order subtotal: amount of purchases (in dollars) required to place an order.
- Tip Scale: Configure different tip scales per zone. You will also select the default tip here.
- Service Charge: Set autograt percentages in Location Settings: Fees and apply the percentages to individual zones.
- Open Tab Requirement: The information a location wants guests to input before they open a tab.
- Prompt Guest for Name on Scan: You can choose to set this to yes or no.
---

- Unavailability Message: A brief message should the guest try to place orders after hours.
- Order Notes Prompt: A text box that appears at the end of the guest ordering flow to account for any guest requests. The guest notes will appear on printed tickets and on the KDS.
- Order Prompts: Customized prompts that are either checkboxes or an open text field for the guest to write-in displayed on the payment screen.
- Allow Order Notes: Order notes is an open text field for guests to write freely during checkout. The guest notes will appear on printed tickets and on the KDS.
- Batch Time (sec): Orders from the same spot within this time will display on one ticket on the KDS.
- Spot Delay Time (Min): Orders from the same spot placed within this time will fire and print one after the other, if enabled.

- Automatic Order Confirmation Text: This sends the guest an SMS message confirming their order.
- Automatic Order Fulfillment Text: Allows you to automatically text a guest once the order is marked as fulfilled on the KDS. (You must turn this on in the KDS settings as well)
- Show Tips Selector By Default: This setting controls whether the guest views the tip selector bar.
- Searchable: Hides this zone from any spot selectors. The spots in the zone may only be accessed by scanning a code or using a direct link. This should always be enabled.
- Joinable: Allows open tabs to be joinable at this zone.
- Discoverable Server Tabs: Allow tabs started by servers to be discoverable when guests scan the spot QR.
- If Discoverable Server Tabs is toggled on as YES: Initial Tab Discoverable: Allows operators the ability to choose the time that discoverable tabs start at.
- Open Tab Only: Automatically opens a tab for the guests. Open tabs must be enabled at the location level (Location Settings: Edit > Open Tabs are toggled ON).
- KDS Zone Banner: This allows you to clearly distinguish orders from specific zones that need to be packaged or handled differently. The default banner name will be the name of the zone, however, you can edit it to whatever you want. You can then choose a color for the banner.
---
Navigate to spots on the Zones page:

(1) Click "Manage Spots"
(2) Click "+" Symbol
Single Spot creation tool: Makes your QR codes - accessed on the Links & QRs page.

(1) Select "Single Spot" (creates 1 QR) or "Multi Spots" (creates batch QRs)
(2) Name your spot
(3) "Confirm" to save changes or "Reset" to start over.
---
Multi Spots batch creation tool: Make multiple QRs at once.

(1) Select "Multi Spots"
(2) Name your Spot in the "Spot Prefix" box and designate number of spots
OR
(3) Name the "Spot Prefix" and enter a Start / End number of Spots.
---
- Navigate to the "Links & QRs" page in the GoTab menu to access your new Spot QRs.
- See more information about Spot Management.
[^1]: For a zone to be functional you MUST make a spot**.
---
# Option Group Tagging
URL: https://docs.gotab.io/operator/option-group-tagging/
Description: Tag specific options for cart rules
**What is Option Group Tagging?**
Option Group tagging is a powerful enhancement that gives you precise control over how cart rules apply at the item-level and the option level. Whether you're running taproom specials, offering size-based pricing incentives or building more nuanced menu logic, this update helps you deliver the exact experience you intend—automatically.
_Note: Option Group Tagging is enabled for locations that have already migrated to the newest version of Option Groups. If your venue hasn’t transitioned yet, reach out to your GoTab representative to get onboarded. _
**How Option Group Tagging Works**
Here’s a real example of how option group tagging works:
You want to give $1 off pints of an IPA—but only the pint size, not the half-pint or the growler. With Option Group Tagging, it’s easy:

**Step 1**: Assign a tag (like “pint”) to the specific option within the option group.
-- Edit your existing option group
- Click on the option you want to tag to drop down the additional configuration fields
- Click “Advanced” and enter the tag you wish to use
- Leave other options untagged, such as half-pint, growler, etc.
- Save your changes
**Step 2**: Create your cart rule (e.g., “$1 Off Pints”) using the tag you just assigned to the option (see here for steps to set up this type of cart rule)
**Step 3**: When a guest selects a pint, the cart rule automatically applies. If a team member changes it to a different size, the discount instantly disappears—no need for extra buttons, overrides, or reminders.
When the IPA is added at the POS, your staff is prompted to pick a size. If “pint” is selected, the system recognizes the tagged option and applies the discount. If “half-pint” is selected instead, the discount is removed automatically. It’s dynamic, accurate, and completely customizable.
---
# Pack & Route
URL: https://docs.gotab.io/operator/pack-route/
Description: Manage takeout packing slips, delivery route planning, and order fulfillment for delivery operations.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Pack & Route helps you manage high-volume takeout and delivery operations — generate packing slips, plan delivery routes, and organize order fulfillment.
---
# How To Access Your Delivery Routes
URL: https://docs.gotab.io/operator/pack-route/how-to-access-your-delivery-routes/
Description: Learn how to calculate your delivery routes and open them directly in Google Maps from the GoTab manager dashboard.
## Calculate Your Route(s):

## Open In Google Maps:

---
# Generate a packing slip
URL: https://docs.gotab.io/operator/pack-route/how-to-generate-a-packing-slip/
Description: Learn how to select takeout or delivery orders and generate packing slips from the Pack & Route dashboard.
## Step 1: Click Takeout / DeliveryStep 2: Check the box(s) of the order you want to printStep 3: Click Generate Packing SlipsStep 4: Print


---
# Pack & Route
URL: https://docs.gotab.io/operator/pack-route/pack-and-route/
Description: The Pack & Route dashboard helps operators generate packing slips, export bulk orders, and plan self-delivery routes.
## Generating Packing Slips, Exporting Bulk Orders, and Planning Self-Delivery Routes
The Pack & Route dashboard is broken down into two basic functions:
1. Packing Slips: Display showing all takeout and delivery orders for a selected date/date range. Here, you can generate packing slips, print labels, and export orders into a spreadsheet
2. Route Planning: For operators doing self-delivery, this display allows you to plan delivery routes by the time orders are scheduled, the shortest distance for you drivers, or for the number of vehicles in your delivery fleet.

[^1]: Feature Definition:** The Pack & Route dashboard displays orders in a way optimized for locations running large takeout operations, market & grocery concepts, and self-operated delivery. This feature allows you to generate labels and packing slips, mark orders as complete, and plan delivery routes.
[^2]: Benefits:** The Pack & Route display is incredibly useful for large high-volume orders. If orders are long (e.g. grocery lists or catering orders) the KDS can be too cumbersome for fulfillment. Pack & Route allows you to pull orders and manage them efficiently.
---
# Packing Slips
URL: https://docs.gotab.io/operator/pack-route/pack-route-packing-slips/
Description: Packing slips allow you to generate printable or exportable versions of any order from the Pack & Route dashboard.
After checking the boxes next to the desired orders in the Pack & Route dashboard, you are able to:
1. Generate digital or printable packing slips
2. Generate an exportable CSV file
3. Mark as packed

1.** Generating Digital or Printable Packing Slips**
After clicking "Generate Packing Slips" you will see the selected orders, name of the guests on the orders, delivery locations (if applicable), scheduled for dates, and products and modifiers. You are able to use this digital view to check products as you fulfill them:

Or, you can print them out as labels to attach to the appropriate orders prior to delivery.

2.** Generate an exportable CSV file**
If fulfilling very large orders, it can be sometimes easier work out of a spreadsheet. Generating a CSV file will allow you to manage orders in whatever best way suites you:

**3. Marking Orders as Packed**
Marking orders as "Packed" allows you to change the status of that order so everyone knows it has been completed. This enables multiple staff members to work concurrently while avoiding duplicates.

[^1]: Feature Definition:** Packing slips allow you to generate printable or exportable versions of any order. Generating packing slips is one of the core functionalities of the Pack & Route Dashboard (overview [here](/operator/pack-route/pack-and-route/)).
[^2]: Benefits:** Packing slips are very useful for high volume operations that support large orders.
---
# Route Planning
URL: https://docs.gotab.io/operator/pack-route/pack-route-route-planning/
Description: GoTab's route planning feature allows operators doing self-delivery to create optimal routes by time, distance, or number of vehicles.
After checking the boxes next to the desired orders in the Pack & Route dashboard, you are able to create routes by the time that the orders are scheduled for, the shortest distance for your driver, or for the number of vehicles in your delivery fleet.


If calculating routes by ***time***, the route planner will calculate the routes to each selected delivery location and suggest the required number of delivery vehicles in order to meet the delivery times requested by the customer. The system's algorithm takes into account the distance between delivery locations and traffic and will recommend the fastest route possible.
In the example below, there are three delivery orders all scheduled from 2:30 - 3:00pm. In order for the delivery times to be met, two delivery vehicles are required. Clicking on the provided route will navigate you directly to Google Maps. We highly recommend delivery drivers use the GoTab concierge function, which allows them to access delivery routes and communicate directly with customers.

If calculating routes by***distance***, the route planner will calculate the most direct route to each selected delivery location, ignoring the selected delivery times. Calculating routes by distance is ideal for locations that offer delivery within time-windows (e.g. market & grocery concepts or catered orders).

[^1]: Feature Definition:** GoTab's route planning feature allows you to create optimal routes for operators doing self delivery. Creating delivery routes is one of the core functionalities of the Pack & Route Dashboard (overview [here](/operator/pack-route/pack-and-route/)).
[^2]: Benefits:** GoTab's route planning feature is perfect for operators who are looking to cut out third-party delivery platforms and take deliveries into their own hands.
---
# POS
URL: https://docs.gotab.io/operator/pos/
Description: Use and configure the GoTab POS — dine-in orders, quick orders, split checks, voids, and hardware setup.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Everything you need to run the GoTab POS — from activating your device and taking your first order to managing tabs, processing payments, and configuring advanced features.
## Setup & Activation
## Daily Operations
## Tab & Order Management
## Advanced Features
## Hardware
---
# Activate GoTab POS as non-terminal
URL: https://docs.gotab.io/operator/pos/activate-gotab-pos-app-non-payment-terminal/
Description: Here we will walk through how to activate a POS or CFD with the GoTab POS app as a non-terminal.
## Here we will walk through how to activate a POS or CFD with the GoTab POS app as a non-terminal.
**Add New Display System**
-Navigate to your GoTab Manager Dashboard [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1).
-Click Add New Display System.
If a non-terminal display already exists to use, simply click Reset Code to generate an activation code.

- Select Display Type--Main Display or CFD--Name the Display--Save.
This creates a display and generates a 6 digit activation code that we will use below.

**Activate Non-Terminal POS/CFD**
-Open your GoTab POS/GoTab POS Private App.

-Allow requested app permissions, if asked.
-Select POINT OF SALE.

-Select POS and either**Through Countertop** or**Through CFD **for your payment preference. Both will then ask for a 6 digit activation code.

-Enter 6 Digit Activation Code.
You should now see a successful activation and loading into the POS pin in screen after a few seconds.
In the event your device generates a QR code with a 4 digit activation code, that means that the first option**On This Display** was accidentally chosen. Follow the [steps below](#clear-app-data) to clear the GoTab POS app data and start again.
-Navigate to your device Settings--Applications (Apps)--GoTab POS app--Storage--Clear Data
Clearing cache alone isn't enough to force a new activation so we are looking to clear data/clear storage for the GoTab POS app.

Now that we have cleared the data for the GoTab POS app, follow [these steps](#activate-non-terminal) in this article to activate a non-terminal POS/CFD, being sure to click**NO **to Bluetooth payment device to be paired.
To learn how to activate your GoTab POS app as a terminal instead, click [here](/operator/pos/activate-gotab-pos-app-payment-terminal/). A terminal is the device that directly takes payment and the NYC1 card reader is paired to.
Below shows an example from the displays page in the GoTab Manager Dashboard of a POS configured as a terminal, and another as a non-terminal POS. In this example below, the Main Bar POS is configured to be paired to an NYC1 (we hit YES to Bluetooth device to be paired during activation) and is the device processing credit card payments. The Host Stand in this case is not configured as a terminal (we hit NO to Bluetooth device during activation). The Host Stand here is either a POS that is merely meant for order entry and guests do not pay here OR is connected to a CFD configured as a terminal whereby the CFD will process the credit card payments.

[^1]: This article covers non-terminal POS or CFDs. Non-terminals are displays that require a second display/device setup as a payment terminal to accept credit card payments.**
[^2]: IF your device is already activated as a terminal and you need to switch to a non-terminal display, follow [these steps](#clear-app-data) below to clear app data first.**
[^3]: How To Clear GoTab POS App Data**
---
# Activate GoTab POS app as terminal
URL: https://docs.gotab.io/operator/pos/activate-gotab-pos-app-payment-terminal/
Description: Here we will walk through how to activate a POS, CFD or KIOSK with the GoTab POS app as a payment terminal.
## Here we will walk through how to activate a POS, CFD or KIOSK with the GoTab POS app as a payment terminal.
> #### This article will specifically cover displays as terminals. A payment terminal is a POS/CFD/Kiosk device paired directly to your Adyen NYC1 card reader OR an S1F2 CFD.
**Requirements**
-Hardware purchased from [GoTab Store.](https://shop.gotab.io/terminals/) Dhttps://shop.gotab.io/terminals/evices purchased from GoTab will have the GoTab POS Private app available in the Google Play Store.
- Additional Android approved devices include either the Samsung Galaxy A8 Tablet or Samsung A14 phone running Android 12.0 or higher.
- iOS devices running iOS17 and higher.
-GoTab POS app

- For approved devices not purchased through GoTab, download the GoTab POS app from the Google Play Store and Apple App Store.
- Devices purchased from GoTab will have the GoTab POS Private app available in the Google Play Store.
-Adyen NYC1 card reader
**How To Activate**
-Open GoTab POS/POS Private app on your device.
-Select Device Type.

-Select POS or CFD.

-Select On This Display. (S1F2 skips this step right to activation code/QR)

-An activation QR code with accompanying code will now show.

-Activate by scanning QR (requires sign in to GoTab Manager Dashboard on device scanning QR) or click Activate Display from the [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1) in your GoTab Manager Dashboard to enter activation code.

-Confirm on your device the request for activation.

-Your device is now activated as a payment terminal.
If activating a tablet as a terminal, [click here](/operator/pos/how-do-i-pair-an-nyc1/) to learn how to pair an Adyen NYC1 card reader to your newly activated terminal display.
[^1]: Note: Both the Point of Sale (POS) and Customer Facing Display (CFD) live under POINT OF SALE on this device type setup.*
---
# Add mobile number to a POS tab with Phone Pass
URL: https://docs.gotab.io/operator/pos/adding-a-mobile-number-to-a-pos-tab/
Description: You can add mobile numbers to a POS-initiated tab allowing you to automatically text guests upon fulfillment from the KDS.
## You can add mobile numbers to a POS-initiated tab allowing you to automatically text guests upon fulfillment from the KDS.
**How To Turn on Phone Pass**
Navigate to Location Settings--Edit--Display Settings--Phone Pass.

**Add Mobile Number to POS tab**
1. Navigate to your POS and start your tab or order more for an existing tab
2. On the ordering screen, press the phone icon on the upper right-hand portion of your cart

3. You will be prompted to input a guest name and phone number.
4. Once you add a phone number to the tab, the phone icon will highlight green.
5. Send the order through.
*** Note: When adding more products to a tab that has a phone number assigned, a popup will occur prompting you to choose the existing phone number on the tab. If there is more than one number on the tab, you will choose which one should be connected to this order. By failing to select a phone number, there will not be one connected to the order.***
**Added Functions:**
****
By pressing the phone icon after adding a mobile number to a tab, you have some added functions.
- Edit Info: Allows you to change the name or phone number of the guest
- Receipt Recipient: Sends this phone number a mobile receipt once the tab is closed
- Assign New: Allows you to add more than one number onto a tab for texting. When pressing this option, you will be prompted to enter another guest's name and number.
It is important to note that this newly entered number will not replace the previous one. When assigning a new number, you will have more than one phone number associated with the tab.
- When having more than one number associated with a tab, you will need to select which number receives a text message when putting in a new order. The last number selected will be the default number texted for each new order sent unless changed by a staff member.

### KDS
On your KDS, you will notice the order name changes to the name input with the phone number. This does not affect the tab name.
**
Autotext on fulfill is required for your guest to receive a text. With Phone Pass, there is no two-way communication with custom chats.
Click [here](/operator/kds-printers-additional-display-setup/auto-text-on-fulfillment/) to learn how to learn how to turn on autotext on fulfill.
---
# AMS1
URL: https://docs.gotab.io/operator/pos/ams1/
Description: In this article we will cover the AMS1 payment terminal.
## In this article we will cover the AMS1 payment terminal.
The AMS1 is a Wi-Fi/Cellularly connected payment terminal from Adyen. The AMS1 is what we refer to as a "basic terminal" whereby the device does not run the GoTab app at all. The AMS1 entirely utilizes Adyen payments UI.

**POS w/AMS1**
In this setup, we do not have an accompanying CFD for the guest to choose their tip and submit payment. When that's the case, we utilize the Adyen tipping UI where once the server initiates payment from the POS, the guest is prompted to choose a tip %, custom or no tip amount and submit payment on the AMS1.
::video{src="/videos/pos_ams1_adyen_tipping.mp4"}
Navigate to More--Settings--Payment--Payment Terminals & CFDs--Click Phone Icon to select AMS1 as your payment terminal in the POS.

From the [Display Page](https://manager.gotab.io/manager/displays?pick_loc=1) in your manager dashboard, this would look like this. We can click the gear icon on our display and see the AMS1 selected as our payment terminal.

******POS/CFD w/AMS1**
In this setup**,**we have a CFD paired to the POS, as well as the AMS1 as the payment terminal.
::video{src="/videos/newest_pos_cfd_ams1.mp4"}
Navigate to More--Settings--Payment--Payment Terminals & CFDs--Click Phone Icon to select a CFD and choose AMS1 as your payment terminal in the POS.

In this configuration of a POS/CFD *and* AMS1, we see that the AMS1 is still selected as the payment terminal but we also have our Host CFD selected now where the guests are prompted to tip and submit payment on the CFD before tapping/inserting credit card on the AMS1.

Click [here](/operator/menu-management/how-to-change-tip-suggestion-calculation/) to learn how to set your suggested tip amounts and different ways to calculate the suggested tip percentage.
[^1]: Note:** If your POS is currently set up as a terminal, you will need to reset your device and set it up as a non-terminal. You can follow [these steps](/operator/pos/activate-gotab-pos-app-non-payment-terminal/) to make this change. See below for what a non-terminal (green check) vs. a terminal (red x) looks like on your displays page.
---
# Call Number Prompt
URL: https://docs.gotab.io/operator/pos/call-number-prompt/
Description: The call number prompt adds an automatic POS prompt for staff or guests to enter a buzzer or call number on each order.
## The call number prompt feature allows you to add an automatic POS prompt to enter a call number for an order. (Think buzzer or number you call out, not phone number)
**How to Use Call Number Prompt**
Often, people will use a buzzer system to notify a guest that an order is ready. With the call number prompt, we have provided the opportunity for an automatic prompt to pop up in your POS or Kiosk where a server or guest can enter a buzzer/call number to an order.
Now with the information listed on the tab and printed orders, a server can go to the independent buzzer platform and enter this call number to notify a guest an order is ready. Alternatively, with the call number servers can call out the number given to the guest to notify them their order is ready.
Call number on a tab in the POS.

Call number on the KDS and printed kitchen chit.
 
You can set the prompt up either directly in your POS or Kiosk or from the Displays page in your GoTab manager dashboard.
-From the Displays page, click the settings icon next to the display and scroll down to Peripherals to add this.

-From the POS, navigate to More--Settings--Peripherals to set this up.

-Prompt is the description for the action the server will be taking. In this example, we want them to enter the guest's buzzer number.
-Display is what will show on the tab on the KDS or printed kitchen chit as shown previously.

From the Kiosk, double tap in the bottom left-hand corner of the screen, enter manager PIN and select under Prompts whether you want the Call Number to be required or optional, then set your prompt and display options.

Once you've configured and saved your prompt, your servers or guests will now be prompted to enter a call number on every order sent. In the examples provided, we're asking to Enter a Buzzer Number.
If no call number is needed on a tab, simply press Enter without adding a number and the order will be sent.

From a Kiosk, this prompt will appear when the guest goes to check out.

[^1]: How to Setup a Call Number Prompt**
---
# Creating a quick order
URL: https://docs.gotab.io/operator/pos/creating-a-quick-order/
Description: Utilize Quick Orders (lightning bolt icon) to speed up order entry at the POS.
## Utilize Quick Orders (lightning bolt icon) to speed up order entry at the POS.
## Quick Order
Tap the lightning bolt icon, choose a spot and you're dropped into ordering. Utilizing**+Tab** would start a tab immediately, even if empty. The Quick Order functionality doesn't technically create a tab until the order is initially sent, or a card authorization/payment occurs. Only then would it be listed as a tab, otherwise, it would still show under Unsent in your POS, rather than as an Open or Closed tab.

Assigning a Quick Spot to Quick Ordering is extremely easy. Navigate to More--Settings--Spots & Menus--Auto-assign a Quick Spot in your POS.
Once we toggle this on, we are prompted to select our Quick Spot. By doing so, we now have a default spot attached to the Quick Order icon. In the above example, we set our POS Only spot as the Quick Spot and when we click Quick Order, it immediately drops us into ordering at that POS Only spot.
## Quick Order Menus
Quick Order Menus is a new feature that will again increase the speed of entering an order when a Quick Spot is set. Currently in the POS, there is considerable unused space on the right hand side, as shown below.

Quick Order Menus tackles this and speeds up order entry. Now, if you have a Quick Spot set, your menus are instantly accessible in this currently underutilized space.
[^1]: Quick Order with Quick Spot (Recommended)
[^2]: Utilizing the Quick Order functionality with a Quick Spot set is the fastest way in the POS to start a tab. Note how after we click Quick Order, we are immediately prompted to select a spot.** **That is one extra click we don't necessarily need. Assigning a Quick Spot removes this additional click.
[^3]: Quick Spot Use-Case Scenario:**Think of a food truck situation where there is a pick-up window where all guests will get their food. The spot wouldn't ever really change because the guests are coming up to the same window to grab their food. Without setting a Quick Spot, you would be unnecessarily forced to pick a spot each time, even though it will be that same spot every time. Simply assign a Quick Spot to the Quick Order and you bypass picking a spot each time, allowing for faster order entry.
---
# Starting a dine in order
URL: https://docs.gotab.io/operator/pos/creatingadineinorder/
Description: Learn how to start a dine in order for a guest, including how to send, pay, and manage open tabs from the POS.
## How to start a dine in order for a guest:
### Step 1: Click + Tab

### Step 2: Choose the spot the guest is sitting at

### Step 3: Add items to the guest's order. You can flip through menus and categories to find items.

### Step 4: Send & Pay, Send, or Send & Stay*
**Send & Pay**
- Easily place an order and pay upfront
- Scenario: a pick-up counter
**Send**
- Send an open tab order to the kitchen and authorize the guest's card or capture payment later.
**Send & Stay**
- After sending the first order, the server is immediately prompted to input another order
- Scenario: a server inputs the drink order, and then inputs the food order to pace the order

---
### When the tab is open, you can ask the guest to pay with a physical credit card, authorize their card, or text them their bill to pay on their phone.

[^1]: Note: You may also choose to show the Send & Auth button on your POS which would allow your staff to send the order and immediately prompt for the authorization of a card. To enable this for your POS go to More > Settings > Spots & Menus and toggle on "Show Send & Auth Button".
---
# Discoverable on the POS
URL: https://docs.gotab.io/operator/pos/discoverable-on-the-pos/
Description: The Discoverable feature allows a guest to easily access their server-initiated tab.
## The Discoverable feature allows a guest to easily access their server-initiated tab.
When a server opens a tab, the guest will scan the QR code at the same spot the server created the tab at, thus being prompted to join the tab. Remember, the guest will need to add a credit card (if there isn't a card associated with their GoTab profile) to continue ordering. The timer on the right indicates how long the tab will be Discoverable. Tabs can be set to discoverable for up to **two** hours.
1. On the open tab, click the share icon in the top right, then click on Spot
2. To add more time, hit +10 mins
When a guest scans in at that same QR, they will see the name of the tab and be able to join:

The ability to have server-initiated tabs be Discoverable can be controlled through your individual Zone settings.

[^1]: Note: Only server-initiated tabs can be Discoverable for security purposes. *
---
# Finding Tabs
URL: https://docs.gotab.io/operator/pos/finding-checks/
Description: Find and manage tabs on the POS using My Pending, My Open, My Closed, All Open, All Closed, Search, and Previously Unpaid views.
## My Pending, My Open, My Closed, All Open, All Closed, Search and Previously Unpaid for tabs






You can also view previously unpaid tabs. This allows you to view any tabs you may need to still collect payment for from previous days.

[^1]: My Pending: Any tabs you have started under your PIN but have yet to order on.**
[^2]: My Open: All tabs that are currently open under your PIN. You can hop back into a tab at any time to order more.**
[^3]: All Open: All tabs that are currently open, this includes tabs that have been started by other servers using the POS, as well as open tabs started by guests via a QR code. You can hop into any of these and add to the order.**
[^4]: Note: Any tabs with a card icon by their name means there is a card on file. ***
[^5]: My Closed: All closed tabs that were started under your PIN.**
[^6]: All Closed: All closed tabs from the day from both tabs that servers closed via the POS as well as tabs closed by guests via a QR code. You can add a tip, issue a refund, print the receipt or reopen the tab as needed.**
[^7]: Search: You can search for a tab by the tab name.**
---
# Full service: POS coursing
URL: https://docs.gotab.io/operator/pos/full-service-pos-coursing/
Description: Easily course items on the POS.
## Easily course items on the POS!
Once coursing is turned on and configured in your Manager Dashboard, you can begin using it on the POS. Learn how to configure coursing [here](/operator/manager-dashboard/coursing-1/).
1. Begin placing an order on the POS.
Add items to your cart
If your items are defaulted to a course, you will see the course populate next to the item in the cart.

1. If you need to change or add a course to an item, after adding your items to the tab, press the “Courses” button on the top of the cart. You may also select the individual item itself if just adjusting one item’s course.

When selecting the “Courses” option, you will be able to select items and choose a new course for them.

For example, I can move both the Bavarian Pretzels and Grilled Salmon Salad to the entree course.
When selecting an item in your cart, you will see the courses at the top. You can choose the new course and update the item.

Once you send a coursed order through, you will see the items that have not been fired yet appear on the tab. The “Previously Ordered” items have already been fired to the kitchen.

- Fire: Allows you to manually fire the course to the kitchen.
- Edit: This allows you to edit the item again before it is fired to the kitchen. For example, we could edit the Lamb Burger's temperature to "Medium Rare." This will update the item before it fires to the kitchen.
---
# GoTab’s RFID technology
URL: https://docs.gotab.io/operator/pos/gotabs-rfid-technology/
Description: GoTab's RFID technology lets servers open and manage guest tabs by scanning an RFID card, with guests able to order at self-serve stations or through the POS.
Using GoTab, you can utilize RFID technology to allow next-level guest experiences. With GoTab-powered RFID tech, a server opens a tab for a guest by scanning an RFID card and then pre-authorizes a credit card for the tab. Guests can then tap their RFID card at self-serve stations or at the POS when ordering.
**Customer Journeys**
There are two different customer journeys. The type of journey you decide to use is entirely dependent on your location and operating style. In addition to these customer journeys, we also allow a continuous ordering flow on the open RFID tabs.
**Customer Journey 1:**
- A staff member opens a tab on the POS by hitting + Open.
****
- A prompt then populates to tap the RFID card to an RFID reader that plugs directly into your POS.

- A staff member will then be prompted to pre-authorize the tab with the guest's credit card.
- Note, if the staff member is not using a quick spot they will need to select a spot
- Without a customer facing display: The server will input the guest name and phone number which will send the guest a text.
- With a customer facing display: The guest will input their name and number to receive their text.
****
- The RFID Card is now connected to their tab and is used to access their orders.
- The RFID card tracks what they have ordered via the self-serve stations and through a staff member at a POS. Then, the running total is reported to the tab on the POS allowing a staff member to close out the tab to the guest's card on file.
**Customer Journey 2:**
- A staff member starts a tab and orders items for the guest. (This is the normal flow of starting a tab).
- After submitting the order, the staff member will then press “passes” on the tab.
****
- They will then press the “+” sign on the passes, prompting them to scan the pass card.
****
- Without a customer facing display: The server will input the guest name and phone number which will send the guest a text.
- With a customer facing display: The guest will input their name and number to receive their text.

- Once they have captured the guest's information, the staff member will pre-authorize the guest's credit card.
- The guest can now use the RFID card to freely utilize self-serve areas or to order through a POS.
- A staff member can close out a guest's tab to the pre-authorized card on file.
**Staff Ordering Flow Journey**
Just like our standard open tab ordering flow, RFID-integrated tabs allow guests to keep a tab open while they use their RFID card. Staff members can access these tabs by doing the following:
- A staff member will press “scan” and then scan the RFID card

- They will then be dropped into the typical ordering flow attached to the tab of the RFID card they scanned
- Staff members can input new orders as usual
**To continue using RFID:**
**RFID FAQ**
- For multi-operators, tap your card at any vendor location that is using RFID to add items to your running tabs.
- Customers can choose to leave a tip. Tips can be left the standard way through the payment terminal using the CFD, or through a receipt entry.
- Multiple RFID cards can be added on the same tab attached to the same credit card for payment.
To attach multiple RFID cards:
- Navigate to the tab
- Press “passes”
- Hit the + sign on the bottom right and it will prompt the RFID to be scanned
Use Case:
- A family of four wants to purchase an RFID card for each member to allow all of them the ability to use them for ordering.
- The tab would be started using the normal workflow, then each family member would have their pass added to the tab.
- When the tab is closed, all of the RFID cards associated will be closed and the total of all of them will be charged.
[^1]: This journey focuses on an operation that wants all newly created tabs to have an RFID card attached to them.**
[^2]: This journey focuses on an operation that allows some tabs not to have an RFID attached to them.**
[^3]: Note: RFID cards can be reused after they are closed out by a staff member, or automatically closed at the end of the night.***
[^4]: If you would like to learn more about using RFID technology at your location, please reach out to your customer success manager. **
---
# How do I Create a Floor Map?
URL: https://docs.gotab.io/operator/pos/how-do-i-create-a-floor-map/
Description: Create a floor map by navigating to your maps tab, pressing +add floor map, naming it, then dragging spots to recreate your floor plan.
To create a new map, navigate to your maps tab and press **+add floor map.**

Then, create a name for you map. Typically this would be the name of the zone or room of these spots.
Once you have created a name click into the map you just created. Now you can drag and place the spots created in zones to recreate their existing floor plan.

Once a map is created, it will now show on the POS as an additional option to find the spots when initiating a tab.
[^1]: Note: Maps does not replace zones. All spots and zones are managed within the zones page. Maps only allows you to map out a floor plan of the spots created in zones.*
---
# How Do I Pair an NYC1?
URL: https://docs.gotab.io/operator/pos/how-do-i-pair-an-nyc1/
Description: Here we will walk through how to pair an NYC1 via Bluetooth to your phone or tablet.
## Here we will walk through how to pair an NYC1 via Bluetooth to your phone or tablet

## Pairing NYC1 Directly to POS
-NYC1 pairing takes place within the GoTab POS app.
-In the POS, navigate to More--Settings--Payment--Pair Payment Device.
-Click [here](#Pairing_continued)to jump to the NYC1 pairing process.

## Pairing NYC1 to a CFD
-In the POS, navigate to More--Configure CFD Settings.

-Now, on the CFD itself, click the Bluetooth icon by "Pair Payment Device".

## Pairing Continued
-S/N found on underneath of NYC.
-"Your readers" indicates any NYC1s previously paired to this device. If S/N of NYC1 trying to pair matches one already listed under "your readers", select that one and it will automatically pair.
-Click + sign if pairing a brand new NYC1 or NYC1 is not listed under "your readers".

-Select the NYC1 you're trying to pair to. If you have multiple NYC1s at your location, this pair screen will show all NYC1s in range.

-Now that you've selected a reader, the reader will beep and flash blue lights, indicating it's in pairing mode.
-You can pair in either order.
-Distinctly double tap the NYC1 button on the side and***only then*** click "Pair" on the screen.
***OR***
-Click "Pair" on the screen and***only then*** double tap the NYC1 button.

-You should now see the "All set!" screen indicating a successful NYC1 pairing.


This most commonly occurs if the double tap of the NYC1 button and "Pair" on the screen are attempted at the same time. Do one, then the other.
***A: Try again.***
## Best Practices
Ensure only one NYC1 is paired to your phone or tablet at a time. Having multiple NYC1s paired to the same device can lead to instances where it may look like the NYC1 isn't responding, but what's really happening is your device is paired to a different NYC1 than you're expecting.
In the example image below, the left shows actual device Bluetooth settings where there are two NYC1s showing as "paired devices." In this instance, we would want to click on one of them through the device settings and "unpair" the NYC1 from the device. The right shows multiple NYC1s as well. We would prefer to only see one and if you were to "unpair" a previously paired NYC1 from the device, the image on the right would only show a single NYC1.
***- ***
[^1]: Troubleshooting/FAQs/Best Practices**
[^2]: Q: I received this "Pairing Failed" screen. What do I do?***
[^3]: Q: I received the "Pairing Failed" screen again. Now what?***
[^4]: A: Verify your device's Bluetooth is turned on. ***
[^5]: Q: My reader is paired but payments are failing on the NYC1.***
[^6]: A: Verify your GoTab POS app and NYC1 firmware is up-to-date. Don't know how? [Here](/operator/uncategorized/product-updates-2-21-24/)is a previous article showing where you can find any potential app updates.***
[^7]: Note: Unpairing is not required in an instance where multiple NYC1s have been paired to the same device but rather recommended to help alleviate any confusion and ensure your device is connecting to the NYC1 that you're expecting.***
---
# How do I ring in an item at a station and have it not print?
URL: https://docs.gotab.io/operator/pos/how-do-i-ring-in-an-item-at-a-station-and-have-it-not-print/
Description: You can choose to block printers from specific POS stations.
## You can choose to block printers from specific POS stations.
GoTab allows you to ring in items at one station and block the item(s) from printing to the printer the item is routed to.
**Use Cases:**
Bartenders take orders at the bar but do not want their POS-initiated orders to print. However, when servers ring in items on their POS outside of the bar, the bartenders need those drink tickets to print.
1. Printers
2. Block Printers
3. Select the printer you do not want items to print at

[^1]: Navigate to your POS More > Settings to configure this for your displays.**
---
# How do I rush orders from my POS?
URL: https://docs.gotab.io/operator/pos/how-do-i-rush-orders-from-my-pos/
Description: You can rush orders directly from your POS.
## You can rush orders directly from your POS.
To enable rush orders on the POS, navigate to your Manager Dashboard.
- Location Settings > Edit > Scroll down to "Display Settings"

Make sure this is turned on.
Next, navigate to your POS and begin to place an order.
- Press the RUSH icon.

The icon will then highlight in red and your order will be listed as rushed.

View your rushed orders first on your KDS.

[^1]: Note: You can only rush newly created orders. You cannot rush any existing orders on previous tabs.*
---
# How do I set a spend limit on a pass?
URL: https://docs.gotab.io/operator/pos/how-do-i-set-a-spend-limit-on-a-pass/
Description: Cap how much a GoTab pass can spend on a tab, with a hard block or a soft cutoff after the limit is crossed. Applies to RFID and phone passes.
You can set a spend limit on a GoTab pass — a physical RFID card/wristband or a phone pass — so a guest's spending on that pass is capped for the life of the tab.
**Digital passes aren't supported in this release.** Spend limits can only be set on physical RFID passes and phone passes today. Digital pass support may be added in a future release.
## Is this right for my location?
Pass spend limits are useful if you regularly issue RFID wristbands, cards, or phone passes and want to cap what a guest can spend on one — for private events with a host-set budget, family or parental spending controls, or corporate allowances. If your location doesn't use tab passes, this article doesn't apply to you. If your location relies primarily on digital passes, this feature isn't available to you yet.
This feature is live but turned on per location. If you don't see the settings below, contact your GoTab account representative to have it enabled.
## Setting up a spend limit
### Turn on the prompt (optional)
Go to Location Settings, select Edit, then Display Settings, and scroll to the bottom of the Pass Settings section. Turn on Prompt Spend Limit if you want staff asked to set a limit every time a pass is added to a tab. If you leave this off, you can still set a limit manually on an individual pass after it's issued. You can also set a Default Spend Limit here so it applies automatically to any new pass, whether or not the prompt is on.

### Choose a default enforcement mode
Once a default spend limit is set, choose what happens when the limit is reached — this becomes the default for new passes and can still be changed per pass.
| Mode | Behavior |
| --- | --- |
| Allow last order | The order that crosses the limit is allowed, but no further orders can be placed on that pass. |
| Block before exceeding | Any order that would cross the limit is blocked outright. |

### Add the pass to a tab
Add the pass to a tab as usual. If Prompt Spend Limit is turned on, you'll be asked to set an amount and choose an enforcement mode — No limit, Block before exceeding, or Allow last order — at this point.

### Watch the running total
The tab shows a progress bar tracking how much has been spent against the limit in real time, including tax and any cart rules applied to the order.

### What a blocked order looks like
If the pass has a hard limit (Block before exceeding) and an order would cross it, the progress bar turns red and the order can't be sent until the limit is raised or items are removed.

---
## When to use this
- A private event or group buyout where the host has set a per-person budget
- Family or parental spending controls on a wristband or card
- A corporate outing or team event with a fixed per-employee allowance
---
## Keep in mind
- A $0 limit can't be set directly. To remove a limit from a pass, clear the field entirely rather than entering 0.
- The bulk pass-adding flow (Tab Pass Optimization) does not currently prompt for a spend limit, even when adding a single pass through that flow. If you use that flow for events, set limits on passes individually after they're added, or use the default spend limit setting as a temporary workaround.
- Digital passes aren't supported in this release. Spend limits can only be set on physical RFID passes and phone passes. Support for digital passes may be added in a future release.
- Self-pour wall and similar partner-hardware integrations do not enforce the limit until that partner has built to GoTab's Tab Pass Spend Limits API. This includes, but is not limited to, iPourIt, Pour My Bev, Napa Tech, Pourtek, WineEmotion, Amusement Connect, and Draft Serv. Check with your GoTab account manager on current partner status before relying on wall-level enforcement.
- Orders placed without a pass attached are not checked against any pass limit.
- This is a different feature from the existing tab-level spend limit, which only sends a text notification to the server and does not block orders. See [How do I set a spend limit on a tab?](/operator/pos/how-do-i-set-a-spend-limit-on-a-tab/) if that's the feature you're looking for.
## FAQ
**Can I set different limits for different passes on the same tab?**
Yes. Each pass carries its own independent limit and limit type.
**Does the limit account for discounts and cart rules?**
Yes, the running total reflects the order after tax and any applicable cart rules, such as a BOGO discount, not the pre-discount price.
**What happens when a hard limit is reached?**
The order can't be sent. Staff see the limit-reached message on the POS, and the send button is disabled for that order.
**What happens when a soft limit is reached?**
The order that crosses the limit goes through, but no further orders can be placed on that pass until the limit is raised or cleared.
**Can I use this on a phone pass?**
Yes. Spend limits can be applied to phone-based passes and are enforced the same way as RFID passes.
**Can I use this on a digital pass?**
Not in this release. Spend limits currently apply only to physical RFID passes and phone passes. Digital pass support may be added in a future release.
---
# How do I set a spend limit on a tab?
URL: https://docs.gotab.io/operator/pos/how-do-i-set-a-spend-limit-on-a-tab/
Description: Set a spend limit on a tab to notify the server when the limit is hit. The spend limit will not stop orders from being sent.
You can set a spend limit on a tab to notify the server when the limit is hit. The spend limit will not stop orders from being sent. For a server to receive a text about the spend limit, they must have the *contact: spend limit* permission and be an unrestricted user.
This is a different feature from pass-level spend limits, which can block orders outright. See [How do I set a spend limit on a pass?](/operator/pos/how-do-i-set-a-spend-limit-on-a-pass/) if you're looking to cap spending on an RFID or phone pass rather than just notify on a tab.
To set a spend limit, navigate to the tab functions and press "spend limit"

Set the spend limit for the tab:

Once a spend limit is reached, a server will receive a text like this:

---
# How do I view all tabs with no tip?
URL: https://docs.gotab.io/operator/pos/how-do-i-view-all-tabs-with-no-tip/
Description: View all tabs with no tip on the POS by pressing 'all closed' tabs and choosing 'View Tabs With No Tip,' then add a tip to any tab.
You can view all tabs with no tip on the POS by pressing "all closed" tabs and choosing "View Tabs With No Tip." From here, you can add a tip to any tab.

Search or choose the tab you would like to add a tip on:

You can add on a tip amount or type in the total of the tab and GoTab will do the math for you.
---
# How to Access a User Report
URL: https://docs.gotab.io/operator/pos/how-to-access-a-server-report/
Description: On the POS, the user report allows operators to monitor sales, taxes, and tips for individual employees or all users.
## On the POS, the user report allows operators to monitor sales, taxes, and tips for individual employees or all users!
**The User Report Includes**
- Net Sales, Auto-gratuity, Tax, and Total Sales
- Tender Types
- Case due to house/server
- Product Breakdowns
- Comps, Voids, and Refunds
- Discounts and Fees
**To Display the User Report**
1. On the POS, click the ≡ icon [in the left-hand corner]
2. Select Report
3. Generate the report by selecting the User and Date
4. To print the user report, simply click the printer icon at the bottom

---
# How do I add a service fee to a tab?
URL: https://docs.gotab.io/operator/pos/how-to-add-a-service-fee-to-a-tab/
Description: Add a service fee to an existing tab on the POS. Best practice is to apply the fee after all orders are sent, as it applies to existing orders only.
There are many scenarios where you may need to add a service fee to a tab. To do this, the tab must already be created. Best practice is to apply the service fee once you are finished adding to the tab as this service fee is applied to all existing sent orders and will not be applied to future orders added to the tab unless you go in and apply it again to "Change All" (see image below).
Navigate to the tab > More > Disc. & Fees > Service Fees 
You can then select a service fee to add to the tab.
If you do not see any service fees to add, you will need to create one. To learn how to create a new service fee, click [here](/operator/manager-dashboard/how-to-add-service-fees/).
---
# How to Add a Tip to a Closed Tab
URL: https://docs.gotab.io/operator/pos/how-to-add-a-tip-to-a-closed-tab/
Description: You can easily add a tip to any closed tab for up to 72 hours.
## You can easily add a tip to any closed tab for up to 72 hours.
**Add Tip to Current Day's Tab**
You can press "add tip" at the top or the "+" button at the bottom.

You can manually add the tip or press a tip percentage of the tab:

**Add Tip to Previous Day's Tab**
To add a tip to a closed tab from a previous day, you will need to reopen the tab on the Manager Dashboard through the tabs page:


Once reopened, you can find the tab under All Tabs--Prev Unpaid in the POS and add a tip.
---
# How to add a tip from a previous day
URL: https://docs.gotab.io/operator/pos/how-to-add-a-tip-to-a-tab-from-a-previous-day/
Description: If you have a tab from a previous day that has been closed but needs a tip added to it, you can do so.
## If you have a tab from a previous day that has been closed but needs a tip added to it, you can do so.
-Navigate to the Tabs page in the Manager Dashboard and locate the tab.
-Press "reopen" at the top of the tab.

-In the POS navigate to All Tabs--Prev Unpaid
- Find the tab you reopened.
- Press the + icon on the tab and add the tip.

[^1]: Note: Tips are reflected in your reports the day the tip payment is captured. We cannot retroactively add a tip to reports for prior fiscal days from when the tip payment was successful.*
---
# How to assign a PIN to access your POS
URL: https://docs.gotab.io/operator/pos/how-to-assign-a-pin-to-access-your-pos/
Description: Navigate to the Users Page, select the pencil icon on the user, then click the Additional Information dropdown and assign a new PIN.
Step 1:Navigate to the [Users Page](https://manager.gotab.io/manager/users?pick_loc=1) and select the pencil icon on the user.

---
Step 2: Click the Additional Information Dropdown and Assign New PIN

***Notes:***
***-Assigned PINs are one-way encrypted. GoTab does not have access to the PIN once it has been assigned. If unsure of PIN, simply type the PIN in again and assign new PIN.***
***-Phone verified managerial users will received a text notification when their PIN has been assigned and/or reassigned.***
---
# How to Comp or Void Items
URL: https://docs.gotab.io/operator/pos/how-to-comp-or-void-items/
Description: You can comp or void items on a tab as well as add any discounts. To comp or void items, navigate to the tab.
You can comp or void items on a tab as well as add any discounts.
To comp or void items, navigate to the tab
- Click the item(s) you would like to comp/ void

- Press comp or void at the top of the tab
- Select a reason

---
# How to Override Schedules on the POS
URL: https://docs.gotab.io/operator/pos/how-to-override-schedules-on-the-pos/
Description: Override any schedule on the POS by enabling 'POS will ignore schedules' from your Location Settings page in the GoTab Manager Dashboard.
You can easily override any schedule on the POS by enabling "POS will ignore schedules" from your [Location Settings](https://manager.gotab.io/manager/location-configs/location?pick_loc=1) page in the GoTab Manager Dashboard.
-Navigate to Location Settings--Edit--Display Settings.

-Toggle on "POS will ignore schedules".

This setting is defaulted to on for all new GoTab locations. It is highly recommended to keep this setting toggled on.
If it is desired to have the POS strictly adhere to schedules on your location, menus etc, this can be toggled off. Note that if toggled off, the second a location or menu is out of schedule, the POS will no longer be able to send orders. For example. If we toggled POS will ignore schedules off and we close at 8PM, then at 8:00:01 the POS would no longer be able to send orders. Payment could be made on any existing tabs but no new orders could be sent.
---
# How to Pay for an Occasion in Advance!
URL: https://docs.gotab.io/operator/pos/how-to-set-up-an-event-deposit/
Description: Guests can pay for an occasion in advance by using our event deposit feature.
## Guests can pay for an occasion in advance by using our event deposit feature!
### Start in your Product Catalog:
To set up an Event Deposit, you will first create an open product in your Product Catalog.
Navigate to your Product Catalog > **+add category**> Create an Event Deposit category to keep this information concise > **set the tax rate to 0.00%**

Once you create your category press**+add product** within that category.

When setting up your Event Deposit product, be sure the tax rate is still 0.00%. Generally, most event deposits will be setup as an Open Product, but if your deposits are all the same amount, it can be setup as a regular product with a fixed price. For our examples below, we're going with the more commonly used Open Product for an Event Deposit Product.
Click back into the Event Deposit product and be sure to add the***dark blue autograt exempt*** GoTag. It is important that you choose the**already existing** tag (dark blue tags) and do not create one yourself (grey tags).

Your product should now appear like this:

### Set Up Your Event Processor
Once you have successfully created the Event Deposit product, navigate to your processors page and press**+add processor. **

Type: Non-sales Revenue (Deposit)
Name: Event Deposit
Search: The product name you just created
Product: Choose the product you created after searching
Press save.

Now that you have successfully created your event deposit processor, navigate to your POS to put it to use!
### Create an Event Deposit in your POS:
Start a tab, then add your event product that you created earlier to the tab.
In this example, we are ringing in an event product for $50 and naming it Brain Power Event 5/25.

We then add this to the card and send/pay the tab as you would any other tab. Once full payment is successful, we now have an event deposit that we can use later down the line to apply to a tab as payment on the day of the event.
### How to Apply the Deposit to a Tab:
Now we are at the day of the event and we can apply our previously paid event deposit as a payment method on a tab. In our example below, we have a $100+ tab and we're going to use our Brain Power Event Deposit to pay down this balance.

This brings us to all of our Event Deposits available. You can manually scroll to the event deposit or as in our example here, search for the event by name.

You have now successfully applied the event deposit to its correct tab! If the event deposit does not cover the full amount of the tab, you will need to collect payment for the remainder of the tab. 
To learn more on Event Deposits, click [here](/operator/processors-cash-gift-cards-house-accounts/what-is-an-event-deposit/).
To learn how to invoice for an Event Deposit, click [here](/operator/processors-cash-gift-cards-house-accounts/event-deposits-how-to-invoice-a-guest/).
[^1]: Note: To apply an event deposit, staff members must have the manage:collections permission. This means restricted users will not see event deposits as a payment method at checkout.*
[^2]: To view event deposits in the manager dash, users need the **control:payments**permission.*
---
# How do I transfer a tab?
URL: https://docs.gotab.io/operator/pos/how-to-transfer-tabs/
Description: You can easily transfer any tab on the POS to another staff member.
You can easily transfer any tab on the POS to another staff member.

In the POS, navigate to More
1. Press Transfer Tabs
2. Choose the tab(s) you wish to transfer
3. Press "transfer" on the bottom left corner
4. Choose the user you would like to transfer the tab(s) to
5. The newly assigned user will now be the owner of the tab(s) and the sales and tips will show on their user report
---
# How to use a Barcode Scanner on the POS
URL: https://docs.gotab.io/operator/pos/how-to-use-a-barcode-scanner-on-the-pos/
Description: GoTab utilizes barcode scanning technology allowing operations to implement barcode scanning during the ordering flow on the POS.
GoTab utilizes barcode scanning technology allowing operations to implement this during the ordering flow on the POS. Items will be configured to a barcode, then they can be scanned when being ordered. The barcode scanner is configured to the POS via a usb cable.
**How it's used:**
1. Add a new order to a tab or start a new tab
2. Once you are in the ordering flow, you can use the barcode scanner to scan an item
3. The item will automatically add to the tab
To learn how to configure an item to a barcode, click [here](/operator/menu-management/how-to-assign-a-barcode-to-a-product/).
---
# How to Use Quick Modifiers on the POS
URL: https://docs.gotab.io/operator/pos/how-to-use-quick-modifiers-on-the-pos/
Description: Quick Modifiers on the POS help ramp up the speed of transactions. These modifier buttons will display next to your item on the POS.
## Quick Modifiers on the POS help ramp up the speed of transactions. These modifier buttons will display next to your item on the POS.
To enable Quick Mods, navigate to the categories section of the menu(s) from the [Menus Page](https://manager.gotab.io/manager/menus?pick_loc=1) in your GoTab Manager Dashboard.
-Menus --Select Menu--Categories --Edit--Enable Quick Modifiers on POS toggle.


-Navigate to Spots & Menus in your POS Settings--Enable Show Quick Modifiers toggle.

Once you have set this up, you can simply press the modifier of the product for a quicker order!

-A required option is needed for quick mods to show. If the above steps were taken and quick mods aren't showing, check the modifiers on the product(s) in question to make sure a required toggle is set.

-Quick mods are designed for products that only have one set of modifiers and a required option must be chosen. They work best for something like the above pictured beer. In this example, we have a beer with three different size options and an option must be chosen. Quick mods aren't applicable for something like a steak dinner where there will be multiple options with special instructions etc.
[^1]: A few notes on Quick modifiers.**
---
# Cash Due to the House/Server
URL: https://docs.gotab.io/operator/pos/how-will-my-servers-owe/
Description: The user report on the POS will show cash due to the house/server.
## The user report on the POS will show cash due to the house/server.
By viewing a user report on the POS, servers will be able to see if they owe the house or if the house owes them at the end of the night. We calculate this total based on a server's cash sales vs. credit card tips.
- Cash Due to the House: The server owes the restaurant the cash due total at the end of their shift.
When a server has cash due to the house, it is because their cash sales are greater than their credit card tips. Servers will be able to keep the remaining amount they do not owe. This amount will contain their credit card tips and cash tips.
****
- Cash Due to the Server: The house owes the server the total amount.
When cash is due to the server, it is because credit card tips were greater than cash sales. The server may have some or no cash on them. The cash they do have is theirs to keep and the house will owe them the amount on the user report.
- More > Report
- Choose date
- Choose a user (only users with manager-level permissions will be able to choose other users)
[^1]: To access a user report navigate to the POS**
---
# How To Set-up The Phone Only POS
URL: https://docs.gotab.io/operator/pos/phone-only-pos/
Description: With the Phone Only POS, use Tap To Pay with a credit card or mobile wallet to the back of your Pocket POS to accept payment.
## With our new Phone Only POS, simply use "Tap To Pay" with a credit card or mobile wallet to the back of your Pocket POS to accept payment
**Set-Up Tap to Pay**
-Ensure NFC and contactless payments is toggled on in your device settings
-Tap to Pay then should automatically populate on compatible devices** as a payment method.

**Make Tap to Pay the Default**
If you do not utilize an NYC1 with your Pocket POS or simply want Tap to Pay as the default, you can do so.
-Navigate to More--Settings--Payments in your POS.
-Set "Tap to Pay" as the "Default Device for Preauth".

**How To Use**
-Click Authorize (if default interface is set to "Tap to Pay") or click "Tap to Pay" from your payment method options.
-Tap mobile wallet or Tap to Pay capable credit card to the back of your Pocket POS as shown below.

-The phone will buzz with a small chime and you should see "card successfully read" on your POS.
***Notes:***
***-** Compatible with Samsung Galaxy A14/A15 and A16 phones running the GoTab POS app on Android.***
***-**Not yet available on iOS as of 5/14/25.***
***-Available in United States only.***
***-Unlike credit card chip inserts, tap to pay cannot capture a guest's name for a tab. Our name prompt on pre auth feature can help. Learn more [here](/operator/managing-your-tabs/nameprompt/).***
[^1]: Note: The Default Payment Device for Preauth only affects the method of credit card payment the device will default to when authorizing a credit card. If "Tap to Pay" is chosen as the default, then your device will be expecting a tap of a credit card or mobile wallet to the back of the phone when attempting to authorize. If "Card Reader" is selected, then the device is expecting an authorization via the NYC1 card reader.***
---
# POS Default Views
URL: https://docs.gotab.io/operator/pos/pos-default-views/
Description: GoTab offers multiple default view options when pinning into the POS.
## GoTab offers multiple default view options when pinning into the POS.
**My Tabs View**
My Tabs is the default setting in GoTab. This view will immediately drop the user pinning in to their current open tabs. This view is most beneficial when servers only or mostly just interact with their own guests.
****
**All Tabs View**
If the default tab filter is set to "All Tabs", then any user pinning in will automatically be dropped into the all open tabs section. This is a great default view in operations where servers are routinely working with or share responsibility of tabs with other servers (think bartenders).
****
**Map View**
If the default view is set to Map View, any user pinning in will be dropped into the Maps section. Similar to My Tabs, this is more likely a setting to be used in a more traditional setup where guests will be at specific table during their visit. Click [here](/operator/pos/how-do-i-create-a-floor-map/)to learn how to setup floor maps.
****
In your POS navigate to More--Settings--Display.
****
Default view is where you would select Tabs or Maps View. If choosing tabs, then you can choose between My Tabs or All Tabs.
[^1]: Change Default View/Tab Filter**
---
# POS Menu Management
URL: https://docs.gotab.io/operator/pos/pos-menu-management/
Description: You can manage your menu and set product delays from any POS display, including marking items unavailable and adjusting stock levels.
## mark unavailable, set product delays, and adjust existing stock level directly from your POS!
You can manage your menu and set product delays from any POS Display which mirrors the KDS function.
To access your POS Menu Management, navigate to your POS
- More > Products

Simply press on any product to mark it unavailable or set a delay!
To adjust stock level, click on Set Stock next to the product

---
# POS Notifications
URL: https://docs.gotab.io/operator/pos/pos-notifications/
Description: Utilize notifications on your POS to get notified when a product is unavailable, for POS refund requests, QR tab ratings, or when a QR is scanned in your establishment.
## Utilize notifications on your POS to get notified when a product is unavailable, POS refund requests, QR tab ratings or when a QR is scanned in your establishment.
Navigate to the Display settings in your POS and toggle on "Receive Notifications".

Notifications functionality is now turned on. Click on the "Notifications" icon to customize which notifications you would like to receive. Toggle the desired notifications to "Mobile".

You will now see the red icon indicating when you have unseen notifications.


[^1]: How to Turn On POS Notifications**
[^2]: Note: POS notifications are set up per display.***
---
# Remove payment and reopen tab
URL: https://docs.gotab.io/operator/pos/pos-remove-payment-and-reopen-tab/
Description: You can easily remove a payment and reopen a tab from the POS, allowing staff to remove a tender and accept a different payment method.
You can easily remove a payment and reopen a tab from the POS. By doing this, staff can remove a tender and accept a different payment method on a tab.
To use this functionality, press the payment method at the bottom of the tab:

You can then press "remove & reopen" to successfully remove the tender from the tab.
---
# Server spot assignments
URL: https://docs.gotab.io/operator/pos/pos-server-spot-assignments/
Description: Assign your servers sections ahead of their shifts.
## Assign your servers sections ahead of their shifts.
You can assign your server's sections from the POS ahead of each shift.
Navigate to your POS Settings:
1. Select Spots & Menus
2. Choose "Spot Assignment"
3. Select the tables you want to assign to a server
You can also filter by users to quickly select all tables assigned to one user
Choose the user you wish to assign the selected tables to
Press Submit
If items have been rung in on a table that is not assigned to a server, you can quickly transfer the table to the user's name. Learn how to transfer tabs [here](/operator/pos/how-to-transfer-tabs/).
Depending on your operational style, when switching from AM, MID, or PM shifts, you may want to reassign your tables to new users or switch a server's section around. Additionally, you can configure your spot assignments to reset each day ensuring you always start with a blank slate.
To configure this, navigate to Location Settings > Edit
- Display Settings
- Clear Spot Assignment Daily: Toggle ON
[^1]: Note: Transferred tabs will only transfer the specific tabs. It will not assign the spot of the transferred tab to the user's name indefinitely. ***
[^2]: Note: QR-initiated orders from any user's assigned spots will allocate the sales and tips from those orders to the assigned user.***
---
# Refund mode
URL: https://docs.gotab.io/operator/pos/refund-mode/
Description: The refund mode feature allows a manager to issue a credit back to a guest, most commonly used for refunding keg deposits.
## The refund mode feature allows a manager to issue a credit back to a guest, most commonly used for refunding keg deposits.
**Turn on Refund Mode**
Navigate to Locating Settings--Displays Settings--POS Refund Mode
****
**Refund Mode on POS**
With the feature now turned on at your location, any user with the**manage:refunds** permission will have access to refund mode. When in refund mode, the process to enter product(s) and process an amount back to a credit card is essentially the same as entering an order and processing payment normally.

- Click More
- Click Refund Mode (noted in red at the top of the tab)
- Add product(s) to be refunded
- Click Issue Refund

The payment flow from here is the same as normal. You're prompted to choose the refund payment method.

Once you've issued payment back, refund mode tabs are noted in red under your closed tabs.

[^1]: Note: Tabs entered and processed back via refund mode do not show as adjustments, discounts or refunds on your sales page. You're creating a new tab and crediting the amount back to a guest, which is different than choosing an already existing tab and refunding.***
---
# How To Reopen A Tab
URL: https://docs.gotab.io/operator/pos/reopening-tabs/
Description: How to reopen tab from current or previous day
## Reopen tabs from both the POS or Tabs Page in the manager dashboard
Utilize reopening of tabs to make comp/void adjustments. For same day tabs paid via credit card, it can be possible to add additional products and close to the previously used credit card but some cards do not allow for additional adjustments, so adding should be done with caution. Best practice is to attempt payment on an upward adjusted tab while the guest is still present to ensure payment success.
:::note
- Current fiscal day tabs can be reopened from both POS and tabs page.
- Previous fiscal day tabs can only be reopened from the tabs page in the manager dashboard.
- Tabs can only be added to on the fiscal day of tab creation.
:::
**Reopen from the POS**
- Navigate to closed tabs
- Select desired tab
- More
- Reopen

**Reopen from the Manager Dashboard**
- Navigate to tabs page
- Select desired tab
- Reopen

Once reopened, current day tabs will populate within All Tabs--Open in the POS.
If from a prior fiscal day, the tab can then be adjusted and closed again from the POS from the Prev Unpaid section. Note though that this is where previous fiscal day tabs that are unpaid or simply reopened live. Clicking Reopen alone is not removing the payment, but rather reopens that tab with $0 due.

In the above examples, we were not removing the payment. A guest unintentionally used the wrong card to pay a tab and would like to switch to a different credit card. How can I do that?
**Remove Payment & Reopen from the POS**
- Navigate to the tab
- Click refund
- Open Refund
- Remove Payment & Reopen
This will simultaneously remove the payment associated to this tab and then reopen it, creating a balance due. Please note that this constitutes a refund so exercise caution and be sure to have a new payment method available before removing payment & reopening the tab.

**Remove Payment & Reopen from the Manager Dashboard**
- Navigate to the tab
- Click refund
- Open Refund
- Remove Payment & Reopen

---
# S1F2
URL: https://docs.gotab.io/operator/pos/s1f2/
Description: In this article we will cover the two main ways to deploy the S1F2 within GoTab: as a CFD running the GoTab app or as a basic terminal.
## In this article we will cover the two main ways to deploy the S1F2 within GoTab: as a CFD running the GoTab app or as a basic terminal.
Whether running the GoTab app on an S1F2 CFD or simply as a basic terminal, we want our POS configuration to match what is shown below on the [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1) of the manager dashboard. We want our POS activated as a [non-terminal display](/operator/pos/activate-gotab-pos-app-non-payment-terminal/) which is then paired to either the S1F2 CFD or as a basic terminal. The S1F2 only shows on the displays page when the GoTab app has been activated, so as a basic terminal, you won't see it here. You will just pair it in your POS settings as shown later in this article.

## S1F2 as CFD
In this setup, the S1F2 is running the GoTab app. The S1F2 is customer facing, displays items as they are added to a tab. Once the server initiates payment from the POS, the guest can then tip and finalize payment all on the S1F2 CFD.
Click [here](/operator/pos/activate-gotab-pos-app-payment-terminal/)to learn how to activate the POS app on your S1F2.
-In your POS, navigate to More--Settings--Payments and select the S1F2 under the Payment Terminals & CFDs icon.

**
Once selected, the S1F2 will now show within the Payments/CFDs phone icon as a CFD. The CFD can be deselected by clicking the red x and will then prompt to save the change.

## S1F2 as Basic Terminal
In this setup, the GoTab app is entirely bypassed on the S1F2 and it is operating purely as a basic terminal. We now have the ability to tip with the S1F2 as a basic terminal. In our example below, we initiate payment from the POS then a tip screen shows, select one of the options and the amount due shows on the final screen before tapping/inserting or swiping the credit card.

Just as with the S1F2 as CFD, we want our POS to again be a non-terminal display (no green terminal flag). Since the basic terminal isn't running the GoTab app, it won't appear as device on the displays page of your manager dashboard.

-In your POS, navigate to More--Settings--Payments and select the S1F2 under the Payment Terminals & CFDs icon.

-Select the**Payment Terminal** for the S1F2

Once selected, the S1F2 will now show in Payments/CFDs icon as the payment terminal. The S1F2 basic terminal can be deselected by clicking the red x and will then prompt to save the change.

If you have already activated the GoTab app on an S1F2, you can quickly switch between operating the device as a CFD or basic terminal.
In the picture below, our S1F2 is selected as the payment terminal but could switch back to operating as a CFD by simply clicking the switch button and then making sure we have the GoTab app open on our S1F2. In this instance, it could possibly be a device we utilized behind the bar as a basic terminal but now want it to be customer facing for them to choose their tip and finalize their payment on a CFD.

Additional note on the S1F2. Although this device is referred to as the S1F2 by Adyen, Castles Technology manufactures this device under the model number is called Saturn 1000.
Click [here](/operator/menu-management/how-to-change-tip-suggestion-calculation/) to learn how to set your suggested tip amounts and different ways to calculate the suggested tip percentage.
[^1]: Note: The S1F2 can be run as a standalone POS but it is not recommended. The best experience with the S1F2 is to operate as a CFD or basic terminal. *
[^2]: Switch Between CFD/Basic Terminal**
---
# Split pay
URL: https://docs.gotab.io/operator/pos/split-pay-1/
Description: The POS Split Pay functionality allows you to split payment seamlessly across multiple tender types or split items onto new checks.
## The POS Split Pay functionality allows you to split payment seamlessly across multiple tender types or split items onto new checks.
To use Split Pay, press "Split Pay" at the bottom of the tab.

You then have a few options:
1. Split the tab evenly
Press "split evenly" on the top right corner and choose how many ways you want to split the tab
2. Pay for each new check on this screen
Select items to split onto new tabs
1. Press "add check split" to add as many new checks as you need
2. Select the items you want to move, then choose the correct check
3. Select an item and click Divide to split that item up between multiple checks
4. Pay for each new check on this screen
5. Move any relevant discounts along with the item to the appropriate check

Press "Reset" on the top right to revert back to the original check
"Paid" will appear at the top of each check as you accept payment.

[^1]: Note: If you exit out of the split pay screen, your changes will be saved when you click back into it to collect payment. **
---
# Starting a takeout order
URL: https://docs.gotab.io/operator/pos/starting-a-takeout-order/
Description: Learn how to start a takeout order from your POS.
## Learn how to start a takeout order from your POS



****
****
[^1]: Step 1. Click +Takeout/Delivery**
[^2]: Step 2. Enter in guests phone number, if they have used GoTab before their name should pop up. If not add their name**
[^3]: Step 3. Select type of order (takeout or delivery), date you want to place the order for, and time you want to place the order for**
[^4]: Step 4. Add items to the guests order**
[^5]: Step 5. Once all items are added to order, hit Pay & Order**
[^6]: Step 6. Enter in guest's card info and hit add card. (note: this will not save the guests info, it will only be used for the one transaction and will be wiped out after)**
---
# Tab pass optimizations
URL: https://docs.gotab.io/operator/pos/tab-pass-optimizations/
Description: In this article we'll cover our new tab pass optimizations where we have improved the speed of adding tab passes, as well as now having the ability t00o immedia
## In this article we'll cover our new tab pass optimizations where we have improved the speed of adding tab passes, as well as now having the ability t00o immediately prompt for a credit card authorization when starting a tab.
Our new tab pass optimization and the ability to immediately authorize a credit card on a new tab allows for much faster creation and assigning of passes to tabs. This is particularly beneficial for our self-pour beer wall locations, though anyone that routinely authorizes credit cards can utilize the immediate credit card authorization without utilizing the pass optimization portion of our improvements.
::video{src="/videos/tab_pass_optimization_w_cc_auth.mp4"}
Navigate to More--Settings--Payment--Authorize Card on New Tab to toggle the setting on.

If you do not use tab passes and simply want to utilize the credit card authorization when starting a new tab, you can toggle "Authorize Card on New Tab" on but also then toggle off "Scan Tab Pass".
We also want to choose whether we want it to Apply To New Tab & Quick Order, New Tab or just Quick Order. Generally speaking, it is unlikely we would want to do it for both New Tab and Quick order as that would mean every tab started on a POS would require a credit card authorization. Most will choose one or the other of New Tab (+Tab) or Quick Order (lightning bolt icon).
## Tab Pass Optimization
For our self-pour beer wall locations to see the full benefit of the tab pass optimizations, we will also want to toggle on Scan Tab Pass.

This allows us to tie tab pass scanning with our cover count. This does require having the zone setting turned on to prompt for the cover count on your POS. With the cover count on, and with both our authorize card on new tab and scan tab pass settings on, when we start a new tab we are immediately dropped into credit card authorization.

Now that we are authorized, we need to select a spot in a zone where we have our setting turned on for our POS to prompt for a cover count. We are then prompted to choose the number of guests. To fully utilize the pass optimizations, we want to leave Scan Tab Pass toggled on in the upper right and simply choose the number of guests.

Now that we've chosen the number of guests, we are brought to the brand new screen whereby we can immediately scan one pass after another without having to click any additional buttons. Previously passes would have to be added individually, which is significantly slower than our optimized flow here where you can quickly do them in succession.

This bulk-add flow does not currently prompt for a spend limit, even when adding a single pass through it. If you need spend limits on passes added this way, set them on each pass individually after it's added, or use the default spend limit setting as a workaround. See [How do I set a spend limit on a pass?](/operator/pos/how-do-i-set-a-spend-limit-on-a-pass/) for details.
Please note that our optimized flow for adding tab passes is***only* **compatible with our GoTab Pass external RFID readers. If utilizing the S1F2 for reading RFID cards, the optimized flow is unavailable.
****
## Turn on Cover Count in POS
Navigate to [Zones](https://manager.gotab.io/manager/displays?pick_loc=1) in your manager dashboard and click settings on the desired zone--Prompt Cover Count on POS. This will turn on the cover count modal where we can select how many guests are on a tab and now prompts us with the optimized modal for significantly faster adding of passes to a tab.

[^1]: Authorize Card on Every New Tab**
---
# POS tab views
URL: https://docs.gotab.io/operator/pos/tab-views/
Description: In this article we'll cover the different views we provide for a tab in your POS.
## In this article we'll cover the different views we provide for a tab in your POS.
[Default View](#defaultview) |[Time View](#timeview) |[Seat View](#seatview) | [Status View](#statusview)
**Default View**

The default view you'll see on a tab in the POS. It simply lists the items in the order they were entered on a tab.
**Time View**
****The time view provides time stamps for each order, with the most recent orders listed first. Within each time stamped order, the items are then listed alphabetically.
**Seat View**
****
The seat view provides a breakdown by seat. If no seat was assigned to an item or order, it is assigned to the table.
**Status View**
****
Status view allows you to see whether items have been marked as fulfilled from a KDS. A green check mark by an item notes an item as fulfilled. Utilize the refresh button by Status to check for any updated statuses on item fulfillment.
Below are two potential use-cases for the Status view on a tab.
How do you know if the orders are ready to save your team unnecessary trips to each vendor to find out if a guest's order is ready? This is now simple with the Status view on a tab. In the picture above, The Kids Cheeseburger from Burgers Burgers Burgers is complete and all of the other items from Knowledge Base are not yet ready. We saved ourselves an unnecessary trip to Knowledge Base to see if those items are complete.
[^1]: Note: Seat view only shows if your location utilizes POS Seating. To turn on POS seating, Navigate to Locations Settings--Full Service in your GoTab Manager Dashboard.***
[^2]: Scenario 1:*** A server has a table of six. Four of the guests already have their food but two do not. The server can quickly check on the status of the remaining two orders from their Pocket POS both saving an unnecessary trip to the kitchen to see if the items are ready, as well as to be able to immediately communicate to the guests their orders are still being prepared.
[^3]: Scenario 2:*** You run a setup with multiple vendors. Guests can order Takeout online from multiple different locations on a single tab. When the guest picks up, you have a dedicated section where takeout orders are picked up. To simplify the guest experience, you assemble all of the orders for the guest so they don't have to stop at each vendor for their orders.
---
# What are Maps?
URL: https://docs.gotab.io/operator/pos/what-are-maps/
Description: Maps allow you to create floor plans that imitate your physical restaurant.
## Maps allow you to create floor plans that imitate your physical restaurant.
By using maps you can allow your servers and bartenders to ring in orders on the POS using a map view rather than a spot view. Maps are created in the Manager Dashboard, then used on the POS.
Servers can access maps on the POS by choosing "Maps" on the left, or by starting a tab and choosing maps on the top right. Servers will be able to filter maps by the name created for them in the Manager Dashboard.

To learn how to create a map, click [here](/operator/pos/how-do-i-create-a-floor-map/)!
---
# Why don't I see the refund option on my POS?
URL: https://docs.gotab.io/operator/pos/why-dont-i-see-the-refund-option-on-my-pos/
Description: If you don't see the refund option on your POS or you are getting an error when clicking Refund, it's likely because you don't have the permission to perform th
If you don't see the refund option on your POS or you are getting an error when clicking Refund, it's likely because you don't have the permission to perform that action.
You must have the permissions "**manage: ordering**" & "**manage: refunds**"

---
# Payments & Gift Cards
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/
Description: Cash accounts, gift cards, house accounts, event deposits, and payment processor configuration.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Manage all non-card payment methods at your location — set up gift cards, configure cash accounts, create house accounts, and handle event deposits.
## Gift Cards
## Cash Accounts
## House Accounts & Event Deposits
---
# Add house account
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/add-house-account/
Description: You can add an account to your house account processor from both the POS and the GoTab Manager Dashboard. Notes: -A House Account processor is first needed to a
You can add an account to your house account processor from both the POS and the GoTab Manager Dashboard.
***Notes:***
***-A House Account processor is first needed to add a house account. Click [here](/operator/processors-cash-gift-cards-house-accounts/create-house-account-processor/)to learn how to add a house account processor.***
***-To add an account, the control:payments user permission is required.***
**Add House Account in POS**
-Navigate to More--Settings--Processors in your POS.

-Choose the house account processor to add an account to. In this example, we're adding an account to our Physical Check processor.

-Choose whether you are setting up a Display House Account or User House Account
- Display accounts are generally better suited if you want to limit a particular house account to specific displays, rather than the account being available for everyone on all displays.
- User accounts are particularly good if you want the selected users to have the particular house account available everywhere, regardless of display.
In our example below, we're setting up a User house account--select all users and save.

In the example above, we now have user accounts for our Physical Check house account. These are global accounts for your location so all of the selected users are free to use this payment method. Generally speaking, starting the balance at $0 makes the most sense, particularly in this setup where we just need a payment method to close a tab to when a guest is paying with a check.
The screenshots below show how a user house account appears, as well as a display account would show. The red highlighted accounts are users accounts and the yellow highlighted are display accounts.

When you click any form of PAY now in the POS, you will see the house account(s) shown as a payment method. In the screenshot below, a house account setup via the User setup is referenced as "personal" and an account setup as a display is shown as "drawer."

** Add House Account from Manager Dashboard**
-Navigate to the [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) in your GoTab Manager Dashboard.

-Click on Manage Accounts--Add Account on the house account processor we're looking to add an account for.

-Choose User or Display Account--Select User(s) and Save.

Your house account is now good to go. If correctly configured, your house account(s) will now show for your users.
Below is another example screenshot. In this screenshot, there are two house account types setup. The upper is just labeled "Knowledge Base" which is a user house account, and would be available on all displays for this particular user.
The lower house account is a display house account setup on the Office POS display. If no user accounts were setup, then the users added to the the lower house account would only see this house account on the Office POS display specifically.

---
# Cash tax-inclusive
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/cash-tax-inclusive/
Description: Our cash tax-inclusive feature allows you to build the tax amount into the purchase price of a product paid with cash.
## Our cash tax-inclusive feature allows you to build the tax amount into the purchase price of a product paid with cash.
**Why Use Cash Tax-Inclusive?**
**"Cash is king."** Not only is your cash management easier, but it incentivizes your guests to pay save a little bit of money, pay in cash thereby increasing the amount of cash you immediately have on hand.
**Cash Tax-Inclusive on the POS**
Here we have an item priced at $2.00. On the left you can see the regular balance due, but on the right is the flat balance due of $2.00 if paid with cash.

On the sales page, we see the net sales for the $2.00 item is really $1.87 with tax of $0.13 for a total of $2.00.


Cash tax-inclusive is a display specific setting. You can have some displays running cash tax-inclusive and others not.

-Navigate to [Displays Page](https://manager.gotab.io/manager/displays?pick_loc=1) in GoTab Manager Dashboard.
-Gear icon on display(s).
-Toggle on Tax inclusive cash payments
[^1]: Simplify cash handling.** Servers can now operate with whole numbers rather than having to worry about counting to the penny, saving time during the checkout process, as well as reducing time spent counting coins at the end of a shift.
[^2]: Cash Tax-Inclusive on Sales Page**
[^3]: Cash Tax-Inclusive on Customer Receipt**
[^4]: How To Turn On Cash Tax-Inclusive**
---
# How To Create House Account Processor
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/create-house-account-processor/
Description: What is a House Account? House accounts allow you to create a form of payment that is independent from credit cards or your cash accounts. A good example would
**What is a House Account?**
House accounts allow you to create a form of payment that is independent from credit cards or your cash accounts. A good example would be if guests are allowed to pay for a tab with a physical check. You need a payment method to close the tab to and creating a physical check house account is a great way to do that.
**How to Create the Processor**
-Navigate to the [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) in your GoTab Manager Dashboard.

-Click Add Processor.

-Choose House Account as the type. Name the account and click save.

Your house account is now created. Click [here](/operator/processors-cash-gift-cards-house-accounts/add-house-account/)to learn how to add accounts to your newly created house account processor. Please note that creating the processor is the first step. Without adding accounts to the processor, no house account payment method will be available yet.
If your house account is something you want to setup daily, you can set the processor to require daily reconciliation. This is a rare setting to utilize with House Accounts and is not usually recommended or required.
-Click pencil icon.

-Toggle Reconciliation ON.

[^1]: Note: Creating new processors (Gift Card, House Account etc.) requires both control:payments & control:location user permissions.*
---
# Event deposits: how to invoice a guest
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/event-deposits-how-to-invoice-a-guest/
Description: Once you accept payment for an event deposit, you are able to send the guest an invoice. To invoice a guest, simply press the share tab button on the event dep
Once you accept payment for an event deposit, you are able to send the guest an invoice.
To invoice a guest, simply press the share tab button on the event deposit tab:

You can then enter in the following information:

Choose when the payment is due and email the guest their invoice!
Email Example:

Guests can easily view and pay their tab directly from this email online!
To learn what an Event Deposit is, click [here](/operator/processors-cash-gift-cards-house-accounts/what-is-an-event-deposit/).
To learn how to set up an Event Deposit, click [here](/operator/pos/how-to-set-up-an-event-deposit/).
---
# Dedicated gift card ordering page
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/gift-card-ecommerce-page/
Description: In this article we're going to cover our new dedicated gift card ordering page, allowing for a more seamless ordering experience for your guests, as well as mes
## In this article we're going to cover our new dedicated gift card ordering page, allowing for a more seamless ordering experience for your guests, as well as message personalization.
**New Gift Card Ordering Page**
The new gift card ordering page is a standalone page that you can link to from your website. Currently, the best practice is to create a gift card menu as you would a normal menu, and link directly to that menu from your website. This new page doesn't remove that as an option, but rather creates a simplified dedicated digital gift card ordering experience for your customers.
When a guest clicks on your gift card ordering link from your website, they'll arrive on this page. From here, your customers can then:
1. Choose Phone or Email for Digital Gift Card delivery.
2. Choose gift card amount.
3. Add personalized to/from and message for the recipient.
4. Checkout and pay as normal.

Once payment is made in full for the gift card, the recipient will receive an email with the gift card number and a QR code they can present to a staff member or use to redeem online — no GoTab account is required to use it. The email also includes a "View Gift Card" button that opens the redemption page, and an optional "Add to your GoTab account" link for guests who want to claim the card. See [How to redeem a GoTab digital gift card](/operator/processors-cash-gift-cards-house-accounts/how-to-redeem-a-digital-gift-card/) for the full redemption flow.

Navigate to the [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1)in the manager dashboard--Click pencil icon on your digital/e-gift card processor.
****
Toggle on the "Use this processor as the default for eCommerce gift card purchases?" setting.
****
Now that this setting is toggled on, you can copy the address link here and use link this directly on your website for gift card ordering. Now any guests that click this link will be brought to the dedicated gift card ordering page.

To copy the above link address, simply right-click or control-click on "Go to Gift Card's E-Commerce Page" and "copy link".
**FAQs:**

If you happen to accidentally toggle this setting on for an open gift card product when you already had it toggled on for standard gift card processor, you will need to go back to the original standard gift card processor and toggle this setting back on.
If setting gift cards up for the first time, click [here](/operator/processors-cash-gift-cards-house-accounts/how-to-set-up-gift-cards/) to learn how.
[^1]: Only compatible with[Option Groups](/operator/menu-management/intro-to-option-groups/).**Not **compatible with GoTab's original modifiers.*
[^2]: How to Setup Dedicated Gift Card Ordering Page**
[^3]: Q:**Can I have multiple Gift Card E-Commerce Pages?
[^4]: A: **No. We only support one dedicated gift card page per location. If the gift card page settings is toggled on a processor and then attempted on a separate gift card processor, it will toggle the setting off on the original gift card processor, and break the link to the page.
[^5]: Q:**Can I have a Gift Card E-Commerce Page for an Open Gift Card Processor?
[^6]: A:** No. GoTab does not allow for customer facing open products, so you cannot have a dedicated gift card ordering page for open priced gift cards.
---
# Gift card processor info/functionality
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/gift-card-processor/
Description: In this article we'll cover some of the additional tools and information you can find around gift cards on the processors page.
## In this article we'll cover some of the additional tools and information you can find around gift cards on the processors page.
From your [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) in the manager dashboard, can find additional information on any GoTab gift card sold or issued at your establishment.

In the above screenshot we click into Manage Accounts on our Gift Card Processor. Now below we see some of the additional functionality we recently added which includes the ability to sort your gift cards newest to oldest, by remaining balance etc.

Previously, we only listed the last 4 of a physical gift card, but now you can click the eye icon by a physical gift card to reveal the full gift card number, if needed.
You can view a transaction history on any gift card that you can find by clicking the down arrow on the gift card. We also provide a link to the tab the transaction(s) occurred on with the blue arrow off to the right.

We also have the ability to resend a claim message for any guest that may not have received their digital gift card claim message. Click [here](/operator/processors-cash-gift-cards-house-accounts/how-to-resend-digital-gift-card/)for more info on resending a claim message.

---
# Gift card reporting
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/gift-card-reporting/
Description: Gift card reporting is displayed on the payments, sales, and accounting dashboard. On the payments dashboard, operators can view their guests' gift card transac
Gift card reporting is displayed on the payments, sales, and accounting dashboard. On the** payments**dashboard, operators can view their guests' gift card transactions and liabilities (the guests' current balance).
Navigate to your payments dashboard, then press "Accounts" to view this information.
On the **sales**page, when a gift card is spent gift cards will appear as a tender type. In addition, operators can assign the gift card product a revenue account to properly account for all gift card sales.
**Gift Card Tender**

**Gift Card By Account**
****
From the**accounting page, **operators can easily keep track of gift card redemption. All gift card redemption will appear as deferred revenue.
---
# How do I Set Up a Cash Account on my POS?
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account-on-my-pos/
Description: Cash Accounts can be added to a POS at any time but must first be configured in the processors page. To learn how to set up a cash processor, click here. How T
Cash Accounts can be added to a POS at any time but must first be configured in the processors page. To learn how to set up a cash processor, click [here](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account/).
Navigate to your More--Cash--Manage Accounts--Add Account in your POS.

1. Select the display
2. Starting balance
3. Choose the station
4. Select the users who will have access to the cash account
If a display cash account already exists but a user needs added to the existing cash account, you can simply click the **+** button and select the additional user(s) that need added.

To learn how to manage user permissions, click [here](/operator/getting-started/adding-users-and-creating-a-pin/).
To learn how you reconcile your Cash Accounts, click [here](/operator/processors-cash-gift-cards-house-accounts/how-to-reconcile-your-cash-accounts/).
[^1]: How To Add Display Cash Acccount**
[^2]: Note: Users will need permission**manage: ordering**** to access cash payments. *
---
# How do I Set Up a Cash Processor?
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account/
Description: Note: Generally, setting up a Cash Processor only occurs once during location setup. Once a Cash Processor it configured the first time, you do not have to set
## Creating a Cash Processor:
Step 1: Configure a cash account on the Manager Dashboard by navigating to the [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) and press **+add processor**
****
Step 2: You will then choose a type of processor, and create a name.
**In this case, choose cash.**
** **
Once you have set this up, you can now add cash accounts on the Manager Dash or POS.
## Adding a Cash Account via your Manager Dashboard:
Press view accounts on the Cash account and press**+add account**
****
When you press add account, you will need to input the following information:
****
1. Select the display
2. Starting balance
3. Choose the station
4. Select the users who will have access to the cash account
You can also set up cash accounts by individual user or phone:


[^1]: Note: Generally, setting up a Cash Processor only occurs once during location setup. Once a Cash Processor it configured the first time, you do not have to set it up again. If looking to learn how to add a cash account from the manager dashboard, click here. If looking to add a cash account from the POS, click [here](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account-on-my-pos/).***
[^2]: To learn how to set up a cash account via your POS, click here. **
[^3]: To learn how to set up a cash account on the Manager Dashboard, see below. *
[^4]: To configure a Cash Account the processor must first be set up in the processors page. *
[^5]: To learn how to set up a Cash Account via your POS, click [here](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account-on-my-pos/). ***
[^6]: To learn how to reconcile your Cash Accounts, click [here](/operator/processors-cash-gift-cards-house-accounts/how-to-reconcile-your-cash-accounts/).***
[^7]: If you have any further questions, please reach out to support or your account manager.**
---
# How to Lookup a Physical Gift Card Balance
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-find-a-physical-gift-cards-balance/
Description: POS Navigate to MORE and click Gift Cards. Manually enter gift card number OR if your device has a camera, click Scan QR to prompt scanning of QR on gift card.
**POS**
Navigate to MORE and click Gift Cards.

Manually enter gift card number OR if your device has a camera, click Scan QR to prompt scanning of QR on gift card.

If scanning, the camera will activate (may ask to enable camera access which is required to scan).
---

-With successful QR Scan or manual entry of card number, the balance is returned.

**Manager Dashboard**
Navigate to the [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) in the manager dashboard.
Click Manage Accounts on your gift card processor.

From here, you can search by last four of a gift card with various ways to sort the gift cards in circulation at your location.

[^1]: Note: In bad lighting situations, try click the flashlight icon. It doesn't turn the flashlight on for the device, but rather lightens the image as much as possible to try for successful scan.*
---
# How to Issue a Customer a Digital Gift Card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-issue-a-customer-a-gift-card/
Description: You can issue digital gift cards directly through the GoTab Manager Dashboard and the customer will receive a text message to access their gift card.
You have the capability to issue digital gift cards through the Manager Dashboard.
1. Navigate to the Manager Dashboard and hit Processors
2. Choose the gift card processor and click view accounts
3. Then press + add account
4. Enter the customer's phone number, the gift card amount, and an SMS message

**GoTab Gift Card Model**

The customer will receive a text message linking to their gift card. Starting August 31, 2026, they can use it directly from that link — by QR code or card number — without adding it to a GoTab account first. They can still choose to claim it for added security. See [How to redeem a GoTab digital gift card](/operator/processors-cash-gift-cards-house-accounts/how-to-redeem-a-digital-gift-card/) for the full redemption flow.
---
# How to Issue a GoTab Gift Card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-issue-a-gift-card/
Description: From either the POS or manager dashboard, you can issue a guest a gift card.
## From either the POS or manager dashboard, you can issue a guest a gift card.
**Issue Gift Card From the POS**
1. Pin into the POS and go to More
2. Click Gift Cards
3. Click Manage
4. Set an amount and gift card processor (most only have one gift card processor)
5. Choose the gift card type (physical or digital)
6. Issue Gift Card


1. Navigate to the Manager Dashboard and hit Processors
2. Choose the gift card processor and click view accounts
3. Then press + add account

4. Choose the way you would like to issue this gift card
1. Email (Digital)
2. Phone (Digital)
3. User (Digital)
Users at your location. Does not work with restricted users.
Physical

[^1]: Note:***** *Issuing a gift card is when payment is not required by a guest. [Click here](/operator/processors-cash-gift-cards-house-accounts/how-to-sell-a-physical-gotab-gift-card/) to find out how to sell a gift card. This tool issues one card at a time — to comp or issue several physical gift cards at once, use the tab-based flow in [How to sell, comp, and issue physical gift cards from the POS](/operator/processors-cash-gift-cards-house-accounts/how-to-sell-physical-gift-cards/) instead.***
[^2]: Issue Gift Card From the Manager Dashboard**
---
# How to Merge Digital Gift Card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-merge-a-gift-card/
Description: Only gift cards from within the same location can be merged. When two or more gift cards are merged, their balances will accrue to a single gift card.
**Merging Gift Cards**
Only gift cards from within the same location can be merged. When two or more gift cards are merged their balance will accrue to a single gift card. To merge, the guest will navigate to their [GoTab account](https://gotab.io/cust/account) and press the merge selection on a gift card.

Once you click merge on the gift card, the other card will appear. Click each card you would like to merge (it will say selected in the upper left) and click merge.

The new merged balance will appear.

---
# How to Pay with a Gift Card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-pay-with-a-gift-card/
Description: Learn how to pay for a tab using physical or digital GoTab gift cards, including RFID, QR, and barcode scanning methods.
## Physical Gift Cards
To pay for a tab with a physical gift card, choose **GoTab Gift Card** as the payment method.

The next step depends on the type of gift card and/or the type of device using to scan.
- Click Scan RFID and tap RFID gift card on your External RFID reader for RFID gift cards.
- Click Scan QR to initiate the device camera and scan the QR on the physical gift card.
- Click "scan or enter card number" input area if manually entering gift card number or if utilizing a Zebra Barcode scanner to scan the gift card QR code. For the Zebra scanner, the gift card number will automatically populate as long as you've clicked into the input field first.

---
### Digital Gift Cards
When a user has a digital gift card on their GoTab account, they will have the option to apply their gift card balance. Gift cards cannot be used to open a tab, however, once the tab is open and the guest is ready to pay they can apply their gift card balance. A payment will deduct from the gift card balance. Gift cards with $0.00 balance are removed.
If a guest has a gift card for your location on their account, they will automatically see the option to use the gift card for payment. They can easily press the "x" to remove the gift card as a form of payment for the tab.

If the gift card does not cover the entire check balance, the guest must select,**"Or use with another card" **and a split payment modal will appear. The guest can choose which cards they wish to split payment across.

The guest can assign each card a balance.
---
### Paying with an Unclaimed Digital Gift Card
Starting August 31, 2026, a guest doesn't need to have claimed a digital gift card — or even have a GoTab account — to apply it in QR ordering checkout. They can tap "Redeem a gift card" below the order total and enter the card number or scan its QR code directly. See [How to redeem a GoTab digital gift card](/operator/processors-cash-gift-cards-house-accounts/how-to-redeem-a-digital-gift-card/) for the full flow, including how claiming still works for guests who want it.
---
### Paying with a Digital Gift Card on the POS
If a guest wants to use their digital gift card to purchase a tab created by a server on the POS, they can do so.
They'll need to login and navigate to their GoTab customer account at [https://gotab.io/cust/account](https://gotab.io/cust/account) .
- Press the account icon on the top right corner
- Press Settings

- Have the guest scroll down to gift cards and select the QR icon next to the correct gift card

Use the POS device's camera to scan the gift card for payment or manually input the digital gift card number.
---
# How to Reconcile your Cash Accounts
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-reconcile-your-cash-accounts/
Description: You can reconcile your Cash Account via the POS or in the Manager Dashboard.
## You can reconcile your Cash Account via the POS or in the Manager Dashboard.
**What is Cash Reconciliation?**
Reconciling a cash account closes that particular account and it no longer exists. You are essentially closing the books on that account, entering the amount counted versus the amount expected and we then record that on the [Balance Accounts](https://manager.gotab.io/manager/account-reports?pick_loc=1)page in the manager dashboard. Once an account is reconciled, it is final. There is no editing or changing any amounts entered and a new cash account would now need to be created.
This is a matter of preference for your location. Requiring reconciliation at the end of each day allows finer control and oversight over cash transactions on a given day, but certainly is not required to properly account for your cash.
Leaving the reconciliation required setting on is best used for situations where maybe there are distinct AM and PM shifts and we don't want any overlap of their cash. Leaving this setting on does require manually setting up new cash accounts at the beginning of each day and reconciling at the end of each day. If requiring reconciliation is left on, you'll see a red notice on the cash account the next day letting you know that the cash accounts need reconciled. You cannot use this cash account anymore and it should be reconciled before starting a new cash account for the day.

Navigate to the [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) in your manager dashboard and click the pencil icon on your cash processor. Toggle Require Reconciliation ON/OFF

Then toggle this on:

1. To Reconcile a Cash Account on the POS, navigate to your POS Settings
2. Press processors
3. Press reconcile accounts
4. Input the reconciliation amount on the Cash Account and submit

1. Navigate to the processors page
2. Press reconcile account on the Cash processor
3. Enter in the amount left in the cash drawer on the correct account.

A single cash processor is able to hold and run multiple cash accounts simultaneously. This is because multiple servers/ bartenders are able to operate having their own cash account to their name, rather than all operating from the same one. This ensures they are only responsible for the cash they receive.

**Over/Under Reconciliations**
You can submit amounts over or under the expected amount. You first need [Pay In/Outs](/operator/uncategorized/paid-in---paid-out/) setup on your cash processor


Any over/under will be included in your cash reporting as paid ins our outs. You can find these in on your POS user reports, cash accounting and on the sales page.

**
To learn how to set up a Cash Processor, click [here](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account/).
To learn how to set up a Cash Account, click [here](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account-on-my-pos/).
[^1]: Should You Require Reconciliation?**
[^2]: Turn Require Reconciliation On/Off**
[^3]: How to Reconcile Accounts on the POS**
[^4]: How to Reconcile Accounts on the Manager Dashboard**
---
# How to redeem a GoTab digital gift card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-redeem-a-digital-gift-card/
Description: Guests can redeem an unclaimed digital gift card by QR code or card number, and claiming it remains optional for added security.
Starting August 31, 2026, a guest no longer has to claim a digital gift card before using it. This article covers how the redemption page works, what changes for guests and operators, and what to expect from gift cards purchased before the update.
## What changed
Before August 31, 2026, a guest had to tap Claim Gift Card and add the card to a GoTab account before they could use it. Now, the email or text message a guest receives links to a redemption page instead. Anyone with that link can view and use the gift card as long as it has not been claimed.
### What the guest receives
The email or text message contains:
- A QR code that scans directly at the POS or in QR ordering checkout
- The gift card number, which the guest can enter manually at the POS or during online checkout
- An option to claim the card, which adds it to the guest's GoTab account
Claiming is optional, not required, in order to use the card.
Here's an example of the text message a guest receives:

And the redemption page the link opens to:

---
## Claiming a gift card
A guest can still choose to claim a gift card. Claiming adds it to their GoTab account and locks it to that account — once claimed, the original redemption link no longer works for anyone else, including the original purchaser.
Encourage guests who want added protection (for example, if they're concerned about someone else accessing their email or a printed copy of the gift card) to claim their card as soon as they receive it.
:::internal
If a guest claims a gift card by mistake, or the wrong account claims a gift card, GoTab Support can remove the claim on the backend. There is no way to recover an unclaimed gift card that has already been redeemed by someone other than the intended recipient.
:::
If a guest clicks a redemption link for a gift card that has already been claimed, they'll see a message that the card has already been claimed rather than a generic error.
---
## Paying with an unclaimed gift card
A guest can apply an unclaimed gift card toward an order in QR ordering checkout, even if they don't yet have a GoTab account. GoTab still requires phone verification to apply any gift card as payment, whether or not the guest is starting from scratch.
To apply a gift card manually at checkout, the guest taps "Redeem a gift card" below the order total, then enters the card number or taps the QR icon to scan it instead. The guest can also check "Save this gift card to my account" at this point to claim it while they're at it.

If the gift card covers the full balance of the order, the guest is **not** required to add a payment method. If it doesn't cover the full balance, the guest is prompted to add another gift card or a card on file.
A guest sharing a tab can also apply an unclaimed gift card to their portion of a shared tab, and multiple unclaimed gift cards can be combined (split pay) as long as the total covers the balance due.
---
## Gift cards purchased before August 31, 2026
Any digital gift card purchased before the update that has **not yet been claimed** will redirect to the new redemption page instead of the claim page, as long as it's still unclaimed. The guest doesn't need to do anything differently — the existing link in their email or text continues to work, it just leads to the redemption page.
A gift card that was already claimed before August 31, 2026 works exactly as it always has: it lives in the guest's GoTab account and can be applied at checkout.
---
## Kiosk ordering
Gift cards can't currently be used to pay at a kiosk. This isn't changing as part of this update.
## Scheduled digital gift cards
Scheduled digital gift cards aren't affected by this change beyond the message itself. The gift card is still sent at the scheduled date and time — it just arrives with the new redemption-page link instead of the old claim link.
---
## Frequently asked questions
**Does a guest still need a GoTab account to use a gift card?**
No, not to use an unclaimed gift card. A GoTab account (name and phone number) is still required to place any order through QR ordering, but a payment method is not required if the gift card covers the full balance.
**What happens if someone else gets a guest's gift card email or text?**
As long as the card is unclaimed, anyone with the link, the QR code, or the card number can use it. Guests who want to prevent this should claim their card as soon as they receive it.
**Can an operator require claiming for every gift card at their location?**
Not at this time. There is no location-level setting to require claiming. If a location asks for this, have them raise it with their Account Manager — it may be evaluated for a future release.
**Will an operator be notified if a claimed gift card's redemption link is used?**
No. The guest sees a message that the card has already been claimed instead of a generic error, but the operator isn't separately notified.
---
## Keep in mind
- Claiming a gift card remains available and is the more secure option for guests who want to guarantee only they can use it.
- Once claimed, a gift card is locked to that GoTab account and the original redemption link stops working for everyone else.
- If a gift card's option group allows more than one selection (a minimum/maximum other than 1), a guest can accidentally select multiple amounts and generate a single card for the combined total instead of separate cards. Set gift card option groups to a minimum and maximum of 1 to prevent this. See [How to set up gift cards](/operator/processors-cash-gift-cards-house-accounts/how-to-set-up-gift-cards/).
- Kiosk ordering doesn't support gift cards.
:::internal
Category and grouping were copied from live siblings in Processors: Cash, Gift Cards & House Accounts > Gift Cards. sortOrder was set to 23 (the next open slot after the highest in-use value in this category, 22) rather than the source draft's placeholder of 65 — confirm this is the desired position, since the category uses one continuous sortOrder sequence across all of its groups (Cash, Gift Cards, House Accounts, Event Deposits) and a lower number would require renumbering siblings. "How to Pay with a Gift Card," "How to Issue a Customer a Digital Gift Card," and "How to Sell a Physical or Digital GoTab Gift Card" have been updated with reciprocal links to this article and reworded away from the old claim-only flow.
:::
---
# How to resend a digital gift card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-resend-digital-gift-card/
Description: Resend a digital gift card claim message to a guest from the Processors page or Balance Accounts page in the GoTab Manager Dashboard.
Sometimes guests might not have received their email or text message to claim a gift card purchase, or maybe they did and just missed it. We have added the ability for you to resend a digital gift card claim message to a guest. It will go to phone number or email address that was entered upon purchase or issuance of gift card by your location.
You can do this from your [Processors Page](https://manager.gotab.io/manager/processors?pick_loc=1) in the GoTab Manager Dashboard.

As the above screenshot shows, you would then navigate to the gift card processor, scroll to the unclaimed card in question and click Resend Claim Message.
You can also do this from the [Balance Accounts Page](https://manager.gotab.io/manager/account-reports?pick_loc=1).

On the account reporting page click over to Gift Cards--Select the purchase/issue date of the digital gift card--click the down arrow on the right--Click Resend Claim Message.
[^1]: Note: This is *only* for unclaimed digital gift cards. An already claimed gift card will show the customer's name that claimed it and won't show the resend message. A guest that already claimed a gift card but wants to transfer it can follow the steps [here](/operator/processors-cash-gift-cards-house-accounts/how-to-transfer-your-gift-cards/) to transfer their digital gift card to someone else. **
---
# How to Sell a Physical or Digital GoTab Gift Card
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-sell-a-physical-gotab-gift-card/
Description: You can easily sell GoTab physical, RFID or digital gift cards from your POS.
## You can easily sell GoTab physical, RFID or digital gift cards from your POS.
### How to Sell a Physical or RFID Gift Card
Adding a physical gift card to a tab — including RFID and QR-based cards, and whether you're adding one card or several — goes through the **Scan Physical Gift Cards** flow. See [How to sell, comp, and issue physical gift cards from the POS](/operator/processors-cash-gift-cards-house-accounts/how-to-sell-physical-gift-cards/) for the full walkthrough, including scanning cards, changing quantity mid-scan, and comping or issuing cards in bulk.
This flow requires your location to be on **New Option Groups**. Locations still on Old Options or in Migration Mode will instead enter the card number directly on the gift card item form.
### How to Sell a Digital Gift Card
**Order Flow:**
1. Start a tab and choose a spot
2. Choose your gift card product then select “digital” for your gift card type.
3. Choose whether you want to send the digital gift card via Phone or Email and input the appropriate information for the recipient.
4. Then, choose the gift card amount.
5. Click Add and pay the tab out as normal. Once the tab has been closed, the recipient will receive a notification with a link to their gift card. Starting August 31, 2026, they can use it directly from that link — by QR code or card number — without claiming it first. They can still choose to claim the gift card, which adds it to their GoTab customer wallet. See [How to redeem a GoTab digital gift card](/operator/processors-cash-gift-cards-house-accounts/how-to-redeem-a-digital-gift-card/) for the full redemption flow.
You may also choose to set up a dedicated ordering page for your digital gift cards so guests can purchase these on their own. Click [here](/operator/processors-cash-gift-cards-house-accounts/gift-card-ecommerce-page/) for instructions on how to set this up.
[^1]: Note:** An unclaimed digital gift card can be redeemed directly from the QR code or card number in the guest's email or text — no need to print or claim it first. If a guest claims the gift card, it moves into their GoTab wallet and they can access it at gotab.io/cust/account under the gift cards section as a payment method.
---
# How to sell, comp, and issue physical gift cards from the POS
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-sell-physical-gift-cards/
Description: Adding any physical gift card to a tab now uses the Scan Physical Gift Cards flow, whether you're adding one card or several.
Adding a physical gift card to a tab now goes through the Scan Physical Gift Cards flow — whether you're adding a single card or several at once, and whether the guest is paying for it, you're comping it, or you're issuing it for free. This article covers how that flow works, how to change quantity mid-scan, and how to use it to comp or issue cards in bulk.
## Is this right for my location?
This flow is only available at locations using **New Option Groups**. You can check or change this under **Location Settings → Edit → Product Option Type**.
If your location is still on **Old Options**, or is in **Migration Mode (Old & New)**, you won't see this flow yet — adding a physical gift card will use the original flow instead, where the card number is entered directly on the item form. There's no separate setting to turn this on; it's tied entirely to which option structure your location is using. Once your location completes its move to New Option Groups, this flow applies automatically to every physical gift card added to a tab going forward.
## Adding a physical gift card to a tab
This applies whether you're adding one card or several of the same amount.
1. **Start a tab or use Quick Order, and choose a spot.**
2. **Find your gift card product**, either through the catalog menu or by searching (for example, searching "gift").
3. **Select Physical for the gift card type, then choose the gift card amount.**
You can only select one amount per pass through this flow — to sell a mix of amounts, see [Selling gift cards at more than one price point](#selling-gift-cards-at-more-than-one-price-point) below.
4. **Set the quantity — 1 or more — and tap Add** as you would with any product.

5. **The Scan Physical Gift Cards window opens**, prompting you to add the card(s). This happens even if you only set the quantity to 1.
The counter in the top right (with the pencil icon) shows how many cards you're supposed to add and how many you've added so far.

6. **Add each card by scanning or typing its number.**
- To use an RFID-based card, tap RFID, then scan the card.
- To use a QR-based card, tap QR, then scan the card's QR code with the POS device's camera.
- Or type the card number directly into the Card Number field and tap Add Card.
Each added card appears in the Added Cards list with a green checkmark.

7. **Once you reach the quantity you set, the card(s) are added to the tab automatically** — you don't need to tap Done.
8. **Pay out the tab as normal.** Physical gift cards stay inactive until the tab is paid; they activate as soon as payment goes through.

---
## Changing the quantity mid-scan
Tap the pencil icon next to the counter at any point to adjust how many cards you're adding, without starting over. Use the − and + controls to change the number, then tap the checkmark to confirm or the X to cancel.

This is useful if a guest changes their mind mid-scan — for example, they originally asked for one $25 card but decide they want four, or started with five and want fewer.
## If you close the window before finishing
If you tap the X to close the Scan Physical Gift Cards window before finishing, you'll be asked to confirm:
**Discard [n] added cards?**
*These card numbers will not be saved and will have to be scanned again.*
Choose **Keep Scanning** to go back and pick up where you left off, or **Discard** to clear what you've added and return to the order screen.

## If you tap Done before reaching your target quantity
If you stop before reaching the quantity you set (for example, you said 5 but only added 2), you'll see:
**You've only added [n] of [target] gift cards.**
Choose **Keep Scanning** to continue, or **Add [n] Cards** to go ahead with just the cards you've added so far.

## Selling gift cards at more than one price point
If a guest wants a mix of amounts — for example, one $10 card and four $25 cards — complete the flow above for the first amount, then select the gift card product again and repeat the process for the next amount. Each price point is its own pass through the flow.
---
## Comping or issuing gift cards from a tab
If you need to issue one or more gift cards without charging the guest — for example, a marketing giveaway or a service recovery gesture — use the same tab-based flow described above rather than the Issue Gift Card tool in Settings.
1. Add the gift card(s) to a tab using the flow above, just as if you were selling them.
2. Instead of collecting payment, apply a **100% discount** to the tab, or **comp** the tab.
3. Close the tab.
Once the tab is closed as comped or fully discounted, it's treated as paid, and the gift card(s) activate the same way a normally paid card would.
### Issuing through Settings
The Issue Gift Card tool in Settings is still available and still issues **one gift card at a time** — that part hasn't changed. It's a separate, standalone mechanism from the tab-based flow described in this article and doesn't use the Scan Physical Gift Cards window. If you need to issue more than one card at once, use the tab-based comping flow above instead.
## Digital gift cards aren't part of this flow
This entire flow — scanning, quantity editing, and comping — applies to **physical** gift cards only. Selecting Digital instead of Physical on the gift card product brings up different options for sending the card by email or phone number, and none of the scanning steps in this article apply.
---
## Keep in mind
- This flow now applies to **every** physical gift card added to a tab at a New Option Groups location — not just bulk orders. Adding a single card still opens the Scan Physical Gift Cards window.
- Adding cards to a tab is limited to 200 physical gift cards per add. If you need more than that in one transaction, split it into two passes through the flow.
- Set the option group attached to your gift card product to a minimum and maximum of 1, with duplicates turned off. If a gift card option group allows more than one selection, selecting multiple amounts creates a single gift card for the combined total instead of separate cards. See [How to set up gift cards](/operator/processors-cash-gift-cards-house-accounts/how-to-set-up-gift-cards/).
- Physical gift cards stay inactive until the tab they're on is paid, comped, or fully discounted and closed.
- Issuing a single card through Settings is unchanged and still handles one card at a time.
- This flow requires your location to be on New Option Groups. Locations still on Old Options or in Migration Mode will use the original flow instead.
:::internal
Neighbor-review note: "How to Sell a Physical or Digital GoTab Gift Card" described the older single-card flow (direct card-number entry on the item form), which is out of date for any location on New Option Groups — its physical/RFID sections have been replaced with a pointer to this article, and it now only covers the digital flow directly. "How to Issue a Customer a Gift Card" covers digital issuance only and had no direct-entry physical instructions to update. Reciprocal `related` links were added on "How to Sell a Physical or Digital GoTab Gift Card," "How to Issue a Customer a Gift Card," "How to Issue a GoTab Gift Card," "How to set up gift cards," "How to Lookup a Physical Gift Card Balance," and "Gift card processor info/functionality," and a card for this article was added to the category's `index.mdx`. Category, grouping, and sortOrder (25) were confirmed against the live repo as an open slot among Gift Cards siblings. Gating confirmed against `use_new_option_structure` and `needs_modal = !pre_scanned || quantity > 1` in `pos-body.component.js`; bulk scan cap confirmed as `BULK_GC_SCAN_LIMIT = 200`.
:::
---
# How to set up and use cash rounding
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-set-up-and-use-cash-rounding/
Description: Turn on cash rounding for your location and round cash payments to the nearest nickel on the POS.
With pennies getting harder to come by, cash rounding lets you round a cash payment to the nearest nickel right on the POS payment screen instead of doing the math by hand. This article covers how to turn it on for your location, how it works during checkout, and where to see its impact in your reports.
## Is this right for my location?
Cash rounding is worth turning on if your location takes a meaningful amount of cash and you've had trouble getting pennies from your bank. If your location is mostly card or tab-based, you likely won't need it.
Card, gift card, and house account payments never round — they always charge to the exact cent. Rounding only ever applies to a closing cash payment against a cash drawer.
## Turn on cash rounding
You'll need a user with the **config** permission to change this setting.
1. **Open Location Settings.**
From the Manager Dashboard, go to Location Settings.

2. **Select Edit on your location.**
This opens the full location configuration page.
3. **Set Cash Rounding.**
Scroll to the Cash Rounding field and choose a mode from the dropdown: **Off**, **Exact Change Only**, or **Nearest Nickel**. Setting it to Nearest Nickel makes the rounding option available on the POS.

:::internal
The exact behavior of Exact Change Only was not demonstrated in the source recording — confirm with product before publishing whether this mode differs from Off, and update the step above if so.
:::
4. **Save your changes.**
The location saves automatically as you update the field. The Round to Nearest Nickel option now appears on the POS whenever a cash payment would round.
## Round a payment on the POS
Rounding happens per transaction — nothing rounds automatically, and there's no way to force rounding in only one direction. GoTab always rounds mathematically to the nearest nickel.
1. **Open the Pay Tab screen.**
Ring in the order as usual, then choose **Cash** as the tender. Balance Due and Cash Balance Due both show the same penny-exact total until you round.

2. **Tap Round to Nearest Nickel.**
The button fills in and Cash Balance Due updates to the rounded amount, with a caption showing the adjustment.

If your location has a customer-facing display (CFD), the guest sees the same breakdown: subtotal, tax, total, the Cash Rounding adjustment, and the new cash total.

3. **Take the payment.**
Enter the amount tendered and close the tab. The guest's confirmation screen shows the change due against the rounded total.

## What happens on the tab
The rounded amount doesn't disappear — GoTab adds it to the tab as a single **Cash Rounding** line item so the tab and the drawer still reconcile to what was actually collected, as shown in the CFD breakdown above.
---
Keep in mind:
- The Cash Rounding line item is tax-free and excluded from tip and autogratuity calculations — it's applied after comps and voids, so it doesn't distort tip math.
- A tab carries at most one Cash Rounding line at a time. If a cash payment is retried or a tab is reopened and re-rounded, the existing line updates in place instead of stacking.
- Rounding only applies to a single cash payment that covers the full balance. Split and partial payments don't round.
- Refunds always process at the exact original amount — a rounded payment is never refunded as the rounded total.
## Where to find it in reporting
Every rounding adjustment shows up as its own row in Product Mix, alongside your other net-sales adjustments like discounts and comps. Go to **Manager Dashboard > Product Mix** and look for the **Cash Rounding** row, with its own Gross Quantity, Net Quantity, Gross Sales, and Net Sales figures.

The columns above, left to right, are Products, Gross Quantity, Net Quantity, Gross Sales, and Net Sales.
## FAQ
**Does rounding apply to card or gift card payments?**
No. Only cash payments against a cash drawer round. Every other tender stays exact to the penny.
**Can I round a split or partial payment?**
No. The tab needs to close in a single cash payment for the full balance for the Round to Nearest Nickel option to appear.
**Can I set rounding to always favor the guest?**
No. There's no setting to always round up or always round down — GoTab always rounds to the nearest nickel.
**What's the difference between Off and Exact Change Only?**
This wasn't covered in the setup walkthrough this article is based on — check with your account manager if you need this clarified before choosing between the two.
**Where can I see the dollar impact of rounding?**
In Product Mix reporting, under the Cash Rounding line.
**Can I refund a rounded payment?**
Yes, once your connection is back online if it was an offline payment. Refunds always process at the exact original amount, never the rounded one.
## Related
- [How do I set up a cash processor?](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account/)
- [How do I set up a cash account on my POS?](/operator/processors-cash-gift-cards-house-accounts/how-do-i-set-up-a-cash-account-on-my-pos/)
- [How to reconcile your cash accounts](/operator/processors-cash-gift-cards-house-accounts/how-to-reconcile-your-cash-accounts/)
- [Location Settings: Edit](/operator/manager-dashboard/how-to-access-edit-your-location-configurations-dashboard/)
- [Reports: Product Mix](/operator/manager-dashboard/how-to-view-your-product-mix/)
:::internal
Neighbor-review note: this is a net-new article. Recommend reciprocal `related` links be added to "How do I Set Up a Cash Account on my POS?" and "Reports: Product Mix" pointing back here. Category and group were taken from the live "Cash" subgroup under "Processors: Cash, Gift Cards & House Accounts" (siblings: how-do-i-set-up-a-cash-account, how-do-i-set-up-a-cash-account-on-my-pos, how-to-reconcile-your-cash-accounts, cash-tax-inclusive). sortOrder set to 16 — confirmed against the live repo as the open slot between "How do I Set Up a Cash Account on my POS?" (15) and "How to Reconcile your Cash Accounts" (17).
:::
---
# How to set up gift cards
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-set-up-gift-cards/
Description: Gift cards are set up through the product catalog and processors dashboards in the Manager Dashboard.
## Gift cards are set up through the product catalog and processors dashboards in the Manager Dashboard.
To begin setting up a gift card processor, the first step is creating the gift card product in the product catalog.
### Set-Up the Gift Card Product
1. In the product catalog, create a, "Gift Card" product
2. Set the base price to 0
3. Input the tax rate as 0.00%
4. Set account to "Deferred Revenue"

Once you create the gift card product, you can choose make the gift card only server facing by toggling on "make open product."

If the gift card needs to be customer facing, you will need to keep "make open product" toggled **OFF**, then create modifiers allowing guests to choose their own gift card amounts. You can feel free to customize gift card amounts however you need for your location.
**Gift Card Modifiers**

When setting up your gift card amount modifiers, be sure to select**REQUIRE** for the modifier.

---
### Set-Up the Processor
1. Navigate to the Processors dashboard, click +Add Processor
2. Choose the Type "Gift Card"
3. Name the gift card [this is guest-facing]
4. Select the gift card product we just created
**Processor Dashboard**

You will then see the rest of this information populate:

Note: A pin requirement can be set but is not required. The pin threshold allows you to set a dollar amount for gift cards that will require a pin number for payment. For example, if you set the threshold to $100, any gift card purchased for less than $100 will not need a pin assigned to it. If you would prefer to not have a pin required when using a physical gift card, be sure the pin threshold is set very high and you won't be required to enter a pin.
Search the gift card product you created in your Product Catalog.

---
The product assigned to the gift card processor can be changed at any time by clicking Edit and View Accounts.

[^1]: The next step of setting up a gift card will be configuring the processor.**
---
# How to Transfer Your Gift Cards
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/how-to-transfer-your-gift-cards/
Description: Customers can transfer a digital gift card to another person via a link, QR code, or email from their GoTab Account Settings page.
Once the gift card is purchased, the balance will live in the guest's wallet until transferred. From the guest's **[Account Settings](https://gotab.io/cust/account)**page, customers can hit** transfer** to send the gift card. When transferring, the customer can send their card via a link, QR code or via email. The transfer link is valid for 1 year.

**Gift Card Transfer Options**

To claim the gift card, you can send the recipient a copy link, a share QR that they can scan or via email. If you use the copy link or share QR, just be sure to have***only*** the intended recipient clicks the generated link or scans the Share QR. Whoever clicks the link or scans the Share QR is the person now claiming the gift card. If the original person accidentally clicks the link that is generated, then they'll need to redo the process of transferring to the intended recipient.
---
# Event Deposit: What is it?
URL: https://docs.gotab.io/operator/processors-cash-gift-cards-house-accounts/what-is-an-event-deposit/
Description: An event deposit allows you to take an advanced payment for a future event, which can be applied to the tab on the day of the event.
## An event deposit allows you to take an advanced payment or deposit for a future event. This deposit can be tendered to the tab on the day of the event to pay down a portion of the check.
Event deposits are typically used for larger events, renting out rooms, putting a deposit down on a large reservation (usually paid for by one person), or paying in advance for a large party using a fixed menu. You will attribute the amount of their tab as sales taken outside of the POS **or** prior to the event and use the deposit as a discount to the tab, or as an entirety of their tab. The main function of event deposits is to secure a minimum amount from the guest then allow the guests to redeem it later.
Example: You are charging a guest a $500 event deposit for a large party. They pay this deposit through the POS prior to the day of this party.
Then, the day of the event they run up a $1200 tab. You can use this event deposit to reduce their bill by $500.
To learn how to set up an Event Deposit, click [here](/operator/pos/how-to-set-up-an-event-deposit/).
To learn how to invoice an Event Deposit, click [here](/operator/processors-cash-gift-cards-house-accounts/event-deposits-how-to-invoice-a-guest/).
---
# Product Spotlight
URL: https://docs.gotab.io/operator/product-spotlight/
Description: Articles covering GoTab's featured products and capabilities.
Articles in this section.
---
# Credit Card Surcharging
URL: https://docs.gotab.io/operator/product-spotlight/credit-surcharging/
Description: GoTab's credit card surcharging feature helps operators offset processing fees by automatically passing costs to customers in compliance with card network rules.
GoTab has developed a new surcharging feature to help you offset the cost of credit card processing fees that allows operators to automatically pass costs to your customers while being in full compliance with current rules. As required by card brand rules, our surcharging feature does not apply surcharges to debit, prepaid, or gift card transactions (any method other than credit cards). Additionally, the maximum percentage allowable to be passed along to customers is 3.0%. If you choose to implement GoTab’s surcharging feature, you must comply with all card network requirements for surcharging. Some of the key requirements are outlined below, but please seek additional details directly from [Visa](https://usa.visa.com/support/small-business/regulations-fees.html) and [Mastercard](https://www.mastercard.us/en-us/business/overview/support/merchant-surcharge-rules.html) for full compliance.
- Merchants located in states where surcharging is prohibited are not eligible, including Connecticut, Maine, Massachusetts, and Oklahoma.
- Merchants outside of the US, including US territories are not eligible
- Merchants in Colorado can charge a maximum Credit Card Surcharge of 2.0%.
Additionally, GoTab recommends that you inform and train your staff on how Credit Card Surcharging works to effectively inform and answer guest questions. This includes disclosures on menus, in seating areas, etc. The most important detail to communicate is that *surcharging applies to credit card transactions only.*
We recommend that your staff be prepared for this inevitable question.
The best answer in our opinion is something to this effect.
Printed itemized receipt reflecting the 3% credit surcharge with credit card signature slip.

GoTab Customer Facing Display (CFD) reflecting the regular total, as well a credit total.

Credit surcharge fee reflected in the POS.

**Credit Card Surcharging Laws**
In addition to the card network surcharging rules laid out above, operators are required to adhere to federal and state credit card surcharging laws prohibiting deceptive or misrepresented disclosures. Currently, these states prohibit credit card surcharging: Connecticut, Maine, Massachusetts, and Oklahoma. Colorado currently may also limit the maximum credit card surcharge allowed. Laws are subject to change at any time.
Aside from any states prohibiting credit card surcharging, it is your responsibility to adhere to any other laws that may apply to your location. These laws can change at any given time so please be sure to verify if your establishment is subject to any additional requirements, disclosures or signage regarding credit card surcharging.
GoTab's Credit Card Surcharging program allows you to properly assess credit card surcharges to a guest in compliance with credit card company rules and regulations.
GoTab may disable any fees or service charges on our platform that are intended to circumvent proper credit card surcharging. Such attempts pose a high risk of non-compliance with credit card network rules. Non-compliance can lead to card network fines starting at $1000 for the first violation, increasing quickly from there. As it stands, Visa is currently strictly enforcing non-compliance rules and other major card companies may soon follow in Visa's crackdown.
[^1]: GoTab Credit Card Surcharging Program Details**
[^2]: Eligibility:** Beyond rules around surcharging only being applicable to credit card payments, there are a few additional eligibility restrictions to include:
[^3]: Signage & Informing Guests:**All merchants instituting GoTab’s surcharging feature are required to display clear and visible disclosure signage at every entrance and point of transaction (e.g. storefront and registers). For accounts with surcharging in place, GoTab will surface notification of surcharges on guest checks, receipts and Customer Facing Displays. It is your responsibility to comply with all in-store signage requirements.
[^4]: Guest: Why do I have to pay more to use a credit card?*
[^5]: Staff: Credit cards cost up to 5% more to process than debit cards. Any type of credit card rewards are essentially paid for by us. Please use a debit card*
[^6]: Credit Surcharging Example Photos**
[^7]: Risks of Surcharging Circumvention**
---
# Donation Prompt
URL: https://docs.gotab.io/operator/product-spotlight/donation-prompt/
Description: Utilize donation prompt to add a prompt to guests to donate to a good cause.
In this article we'll cover how to enable and configure GoTab's Donation Prompt, which automatically presents guests with a charitable giving option at the time of tab closure on the QR non-open tab flow, POS Guest Pay, and CFD.
---
### Is This Right for My Location?
Before getting started, confirm the following:
1. **Your location is on New Options.** The Donation Prompt is not available for locations on legacy options or in migration mode.
2.**The feature has been enabled for your location.** This feature is currently activated on a per-location basis. Contact your GoTab Account Manager to request access.
3. You have a charitable cause, nonprofit, or community fund you'd like to feature to guests.
4. You use the QR non-open tab flow, POS Guest Pay, or CFD — or some combination of these.
If your location doesn't yet have the feature enabled or is on legacy options, reach out to your Account Manager before proceeding.
---
### Setup Overview
Setting up the Donation Prompt involves four steps:
1. Create the Donation product (with an option group)
2. Create a Donation menu and configure zone availability
3. Enable the feature in Location Settings and select your donation product
4. Confirm the CFD tip setting (if using CFD)
---
### Create a Donation Category
1. Go to your**Product Catalog**.
2. Create a new category — we recommend naming it**Donation** or similar.
3. Mark the category as**Available**.

### Create Donation Product
1. Add a new product inside your Donation category.
2. Set the Product Name— this will appear as the title on the donation prompt (e.g., "Donations").
3. Add a Product Description — this text appears beneath the title on the prompt and tells guests who or what they're supporting. Be specific: include the organization's name and mission. You can update this anytime and changes go live immediately.
4. Set Base Price to $0 (we will create options to choose the amount).
5. Set the Tax This is required.
6. Set the Station to**Default Station / No Print** (recommended).
7. Assign a**GL account** for charitable contributions. Typically this would be one created within your chart of accounts under the "Other" section.
8. Mark the product as**Available**.
9. Optionally, upload an image once the product is created. This will display on the donation prompt. A charity logo usually works well here.

Tip: The product name, description, and image are what guests see on the prompt. A clear cause name and a recognizable logo make the ask feel more genuine and transparent.
### Create and Attach an Option Group
The donation amount buttons guests see are configured via an option group.
1. Create a new**option group** and attach it to your Donation product.
2. Add your donation amount options (e.g., $5, $10, $15). You may add more than three, but**only the first three options will be shown** on the prompt.
3. Set the option group's**minimum to 0** and**maximum to 1**. The minimum of 0 allows guests to skip without selecting an amount.
4. For each option:
- Set the**label** to the display text shown on the button (e.g., "5").
- Set the**price** to the actual charge amount.
1. Mark all options and the option group as**Available**.

---
### Create a Donation Menu and Configure Zones
1. Create a new**menu** — name it something like "Donation Menu."
2. Attach your**Donation category** to this menu.
3. Make sure**no schedule** is set on the menu.
4. In**Menu Zone Availability**, assign the menu to the zones where you want the prompt to appear. If you want the prompt to appear for all guests, assign it to all zones. To limit it to specific contexts (takeout, patio only, etc.), assign only those zones.
>**How zone logic works:** The prompt will appear at tab closure if at least one item on the tab originated from a zone where the Donation Menu is active — even if other items on the tab came from other zones.

---
### Enable the Feature in Location Settings
1. Go to**Manager Dashboard → Location Settings → Edit**.
2. Locate the**Guest Donation Prompts** setting.
3. Toggle it**On**.
4. Use the product selector to choose the**Donation product** you just created.
5. Select where the prompt should appear:
-**QR flow** (QR non-open tab only)
-**POS / CFD flow**
- Or both
1. Save your changes.

---
### Confirm the CFD Tip Setting (CFD Only)
If you want the donation prompt to appear on your CFD, one additional setting is required:
1. In your zone settings, confirm that**Zone Tip** (suggested tips) is enabled for any zone where you want the CFD donation prompt to appear.
>**Note:** The CFD donation prompt currently relies on the tip suggestions being active for the zone. If a zone does not have Zone Tip enabled, the donation prompt will not appear on the CFD for that zone. This is a known limitation that will be addressed in a future update.

---
### What Do Guests See?
### QR Non-Open Tab Flow
After the guest proceeds to payment and closes their tab, the donation prompt appears on their screen. They see the product name, the full description, and (if uploaded) the charity image, along with the donation amount buttons and a**"No Thanks"** option. If they select an amount, it is added to the tab as a $0-tax line item.

### POS Guest Pay and CFD
The same prompt appears on the CFD during the POS Guest Pay flow. The modal overlay displays the cause name, full description paragraph, charity image, and amount buttons alongside a "No Thanks" button.

>**Important:** The donation prompt only appears at**tab closure**. It will not appear when opening or pre-authorizing a tab. It is also not currently available in the QR open tab flow.
---
### Updating Your Featured Charity
To change the cause your guests see:
1. In**Product Catalog**, open your Donation product.
2. Edit the**name**,**description**, and/or**image** as needed.
3. Save. Changes go live on the prompt immediately.
---
### Frequently Asked Questions
A: Not currently. A location supports one active donation product, and the same prompt displays across all active zones. You can control which zones trigger the prompt via Menu Zone Availability, but all will show the same donation.
A: Confirm that the**Zone Tip** (suggested tips) setting is enabled for the zone. The CFD donation prompt currently requires this setting to be active. Also confirm that your location has the feature enabled via your Account Manager.
A: Not yet. The Donation Prompt is currently available in the QR non-open tab flow, POS Guest Pay, and CFD only. Open tab QR support is planned for a future release.
A: Not at this time. Guests choose from the pre-set amounts configured in the option group, or select No Thanks. Custom amount entry and round-up options are on the roadmap.
A: No. The Donation Prompt requires New Options. Contact your Account Manager to discuss the migration path.
---
[^1]: Q: Can I have different donation prompts for different zones?**
[^2]: Q: Why isn't the donation prompt appearing on my CFD?**
[^3]: Q: Does this work with the QR open tab flow?**
[^4]: Q: Can guests enter a custom donation amount?**
[^5]: Q: My location is on legacy options — can I use this feature?**
---
# Insufficient Funds Protection
URL: https://docs.gotab.io/operator/product-spotlight/insufficient-funds-protection/
Description: Incremental authorization reauthorizes a guest's card on every order, protecting your location against guests with insufficient funds to cover their full tab.
## Automatically authorize every additional order on a tab, rather than the traditional pre authorization with final payment.
**Why Use Incremental Auth?**
Incremental authorization is the tool we use to protect your location against guest's with insufficient funds on their card to pay the final full tab amount. Incremental authorization reauthorizes every time an order is sent, helping to ensure that your guests are never able to add to an order with insufficient funds on their card to cover their tab.
**Turn On Incremental Auth**
There are various ways and times within the user experience where we can utilize incremental authorization. We'll cover each Incremental Auth on Send Order setting and what they mean
Navigate to [Location Settings](https://manager.gotab.io/manager/location-configs/location?pick_loc=1)--Edit--Open Tab Settings--Incremental Auth on Send Order in the GoTab manager dashboard.
**None**- Traditional authorization method of a single initial pre authorization. The guest will be preauthorized for the Preuth Amount set at your location if their cart is empty or they'll be preauthed for amount on their cart at the time of the authorization.
For example, if a guest walks up to a server and simply says they want to open a tab but are not yet ready to order, the guest would be authorized for the default preauth amount ($1 in our example above). On the other hand, if a guest order an $8 beer and opened a tab with that beer in their cart, then the guest would be authorized for $8. In all of these examples, because our preauth amount is set to**NONE**, the guest's card would not be additionally authorized at any point when ordering.
**Incremental Auth Fund Source**

[^1]: Customer**- Authorize each additional order sent by a guest on a QR order. This would then mean that each time a guest adds additional orders from their phone, they would be incrementally authed by the additional amount whereas if they walked up to a server and the server entered additional items, the guest would not see the additional authorizations.
[^2]: POS**- Authorize each additional order sent on a tab from the POS by a server. This is the inverse of the customer. This setup allows for each time an order is sent on a tab by a server that the guest's card is authorized for additional amount added.
[^3]: All**- Authorize on each additional order on a tab whether added by a server in the POS or a guest initiated tab.
[^4]: All**- Authorize each additional order on a tab with debit, credit & prepaid.
[^5]: Credit & Prepaid**- Authorize only with credit and prepaid cards and exclude debit cards from incremental authorization. Authorizations on a debit card can *feel* a little different for guests in that it is cash in an account being held now, so some locations choose to only allow for incremental authorizations on credit/prepaid, sparing debit cards the feeling of seeing additional amounts withheld until the authorizations fall off and the final single charge posts.
---
# Understanding “Double Charges” and Preauthorizations: What’s Really Happening at Checkout
URL: https://docs.gotab.io/operator/product-spotlight/preauthorizations/
Description: For anyone who’s ever checked their banking app after a night out, or a visit to the gas station and thought, “Wait, why was I charged twice?”—you’re not alone.
For anyone who’s ever checked their banking app after a night out, or a visit to the gas station and thought, “Wait, why was I charged *twice*?”—you’re not alone. The confusion over preauthorizations and “pending” charges is a common and frustrating experience. But here’s the truth: what often looks like a double charge is rarely, if ever, actually one. It’s the result of how banks and card networks display transactions—particularly when an authorization is placed and a final charge (also called a “capture”) follows.
At GoTab, we’ve built our entire platform around a better way to handle ordering in hospitality—open tabs. That’s not just a feature; it’s a philosophy. We believe that guests should have the flexibility to order how and when they want, and operators should be able to manage service efficiently without closing and reopening tickets for every item. But this flexibility, while empowering, does come with some nuances when it comes to how charges appear in your bank account.
Let’s break down what’s really happening when you see what *looks* like a double charge—and why it isn’t.
When you open a tab with GoTab or any other [point-of-sale](https://gotab.com/products/point-of-sale-pos) using a credit or debit card (or mobile wallet)—whether at a bar, restaurant, or brewery—what’s typically happening behind the scenes is called a *preauthorization*. This is a temporary hold on funds, not a final charge. It’s your bank or credit card company’s way of confirming that the card is valid and that there are enough funds to cover a certain amount.
Later, when your check is finalized, the system “captures” the actual amount spent. Depending on the card issuer, both the preauthorization and the final amount may appear in your transaction history temporarily. This is especially common with debit cards and Apple Pay, where preauthorizations may linger longer in “pending” status before falling off.
This leads to one of the biggest misconceptions: that the guest has been *double charged*. In reality, the money has not been withdrawn twice. One is a hold; the other is the final transaction. Once the bank processes the final charge, the hold disappears.
### GoTab’s Open Tab Model: Designed for Flexibility
At GoTab, our platform is centered around the idea of open tabs. That means instead of closing out every time you place an order, your tab stays open until you’re ready to finalize it. This open tab approach is a huge win for guests—offering more convenience—and for operators, who gain better visibility and efficiency ([reduced credit card processing fees](https://gotab.com/latest/do-you-know-your-pos-and-payment-processing-costs)) during service.
But it also means we have to initiate an authorization when the tab is opened. This is the industry standard and ensures that the transaction can be completed later. When the final charge is captured, that’s when the actual amount is processed.
So to be clear: **GoTab does not—*****and cannot*****—double charge you**. Our system submits only one final charge. Anything else you see on your statement in the meantime is controlled by your bank, not us.
### Why It Looks Like a Double Charge (Especially With Debit Cards)
The confusion is largely driven by how different banks and card issuers display these transactions. Some banks immediately show both the initial authorization and the final charge in your online or mobile banking interface, especially with debit cards. Others hide the preauthorization once the capture is completed. Some take hours to update; others take days. Third party spending tracking apps, such as Rocket Money, also complicate matters. They’ll show any authorization attempt as a “charge” even if the attempt was unsuccessful, leading some to think they were charged when merely their tracking app detected an authorization attempt.
This inconsistency leads to panic: “Why are there two charges?” But it’s simply a matter of how your bank displays the timeline of events. Importantly,**nothing is withdrawn from your account until the final charge is cleared**. The “pending” amount is just that—pending. It will disappear once the bank reconciles it with the final charge.
We understand it’s frustrating. But it’s not fraud, and it’s not GoTab charging you twice. It’s a visibility issue created by the quirks of banking systems and authorization protocols.
### We’re Here to Help with Questions About “Duplicate Charges”
If you’re ever concerned about charges, we’re here to help. Our customer support team can confirm in seconds whether a tab was authorized, what amount was captured, and what your final bill entailed. But we also encourage guests to wait for transactions to fully clear before jumping to conclusions. In almost every case, what looked like a double charge will resolve itself within a few business days.
We also encourage hospitality operators to proactively explain this process to their guests. It’s not always intuitive, especially for customers who aren’t familiar with how open tab systems work or how banks display preauthorized amounts.
The bottom line? GoTab’s payment model is built to improve hospitality—not complicate it. Preauthorizations and open tabs are tools to give guests a better experience and operators a smoother way to serve. While we don’t control how banks display transactions, we can guarantee one thing: GoTab will never double charge you.
So next time you see something “pending” in your banking app, know that it’s part of the normal process. The only charge that counts is the one that clears—and that’s something we always keep transparent and secure.
Click [here](/operator/product-spotlight/insufficient-funds-protection/)for a breakdown of GoTab's various authorization settings and choose which is best for your location.
### Additional Resources to Learn More About Credit and Debit Card Pre-authorizations
Source: [https://www.consumerfinance.gov/ask-cfpb/what-is-a-preauthorization-hold-en-1031](https://www.consumerfinance.gov/ask-cfpb/what-is-a-preauthorization-hold-en-1031)
Source: [https://usa.visa.com/support/consumer/visa-rules.html](https://usa.visa.com/support/consumer/visa-rules.html)
Source: [https://www.aba.com/about-us/press-room/industry-experts/pending-transactions](https://www.aba.com/about-us/press-room/industry-experts/pending-transactions)
Source: [https://www.consumer.ftc.gov/articles/0210-shopping-credit-and-debit-cards](https://www.consumer.ftc.gov/articles/0210-shopping-credit-and-debit-cards)
Source: [https://www.bankrate.com/banking/checking/debit-card-holds/](https://www.bankrate.com/banking/checking/debit-card-holds/)
[^1]: What’s a Preauthorization, and Why Does It Matter?**
[^2]: What Are My Authorization Option with GoTab?**
[^3]: Consumer Financial Protection Bureau (CFPB)** – *Understanding Authorizations and Holds**
[^4]: CFPB explains how debit and credit card preauthorizations work, particularly how they can temporarily hold funds and cause confusion if not properly understood.
[^5]: Visa USA** – *Card Authorization and Transaction Processing**
[^6]: Visa outlines how merchants request authorizations and how financial institutions handle preauthorizations, pending transactions, and final captures.
[^7]: American Bankers Association (ABA)** – *Why Do Pending Charges Appear on My Statement?**
[^8]: ABA discusses how banks show pending charges and why these may differ between institutions, especially for debit card users.
[^9]: Federal Trade Commission (FTC)** – *Shopping with Debit and Credit Cards**
[^10]: The FTC highlights consumer protections and how temporary authorizations differ from final charges.
[^11]: Bankrate** – *Why Do Debit Card Holds Happen?**
[^12]: A detailed overview of how and why debit card holds (preauthorizations) appear on accounts and how they resolve.
---
# Server Training
URL: https://docs.gotab.io/operator/server-training/
Description: Training guides for servers and front-of-house staff on daily GoTab use.
import { CardGrid, LinkCard } from '@astrojs/starlight/components';
Step-by-step training materials for servers and front-of-house staff. Work through these guides in order to get your team up to speed on GoTab quickly.
---
# Server Training 1: Intro to the POS
URL: https://docs.gotab.io/operator/server-training/server-training-1/
Description: This video covers the foundations of GoTab's POS, including clocking in and out, logging in, and key navigation.
This video will go over the foundations of GoTab's Point-of-Sale
- Clocking in/out and shift breaks
- Logging into the POS
- Key navigation
::video{src="https://player.vimeo.com/video/760073245?h=51d76447a8&badge=0&autopause=0&player_id=0&app_id=58479"}
To continue your server training, watch the next video on [ordering](/operator/server-training/server-training-2-ordering/).
---
# Server Training 2: Ordering
URL: https://docs.gotab.io/operator/server-training/server-training-2-ordering/
Description: This video shows servers how to place dine-in and takeout orders, navigate menus, and use the different ordering options in GoTab's POS.
This video will show servers how to place an order through dine in and takeout. In the video, servers will learn how to:
- Place a dine in order
- Navigate the menus
- The different ordering options
- Place a takeout order
::video{src="https://player.vimeo.com/video/760073274?h=12cc64a281&badge=0&autopause=0&player_id=0&app_id=58479"}
To continue your server training, watch the next video on [tabs](/operator/server-training/server-training-3-tab-management/).
---
# Server Training 3: Tab Management
URL: https://docs.gotab.io/operator/server-training/server-training-3-tab-management/
Description: This video covers tab management in GoTab's POS, including viewing tabs, ordering more, merging and splitting tabs, and issuing refunds, comps, or voids.
In this training, servers will learn how to effectively manage their tabs. The video will include how to:
- View the tab card
- Order more
- Share Tab
- Discoverable
- Merge Tabs
- Add a spend limit
- Move items off the tab
- Split Tabs
- Authorize & Pay
- Filter through tab options
- View tabs with no tip
- Issue, refunds, comps, or voids
::video{src="https://player.vimeo.com/video/760073350?h=f842f7f1cb&badge=0&autopause=0&player_id=0&app_id=58479/embed"}
In the next video, you will learn how you can issue refunds, comps, voids, or add discounts to a tab using a managers pin.
::video{src="https://player.vimeo.com/video/760425272?h=9e45683d1c&badge=0&autopause=0&player_id=0&app_id=58479"}
---
# Server training introduction
URL: https://docs.gotab.io/operator/server-training/server-training-introduction/
Description: Train your staff on the basic navigation of the point-of-sale.
## Train your staff on the basic navigation of the point-of-sale.
The following videos allow your staff the opportunity to grasp the basic functionalities they need to know as a server navigating GoTab's point-of-sale.
- Basic Server Navigation
- Ordering
- Tab Management
---
# User Experience
URL: https://docs.gotab.io/operator/user-experience/
Articles in this section.
---
# Easy Tab: How do I use it?
URL: https://docs.gotab.io/operator/user-experience/easy-tab-how-do-i-use-it/
Description: Easy Tab is available to use on our customer facing display (CFD) and Pocket POS.
## Easy Tab is available to use on our customer facing display (CFD) and Pocket POS.
Click the orange "authorize" button.

OR, if the tab has already been started, you can also click the "Auth" button.


Now that a guest's card has been authorized and their phone number entered:
- The guest will then receive a text with a link to their tab.
- Guests will need to verify the last four digits of their card number for security purposes.
- Now your guests can order as they please from their devices!

After placing an order on the POS, the Easy Tab option will appear on the tab.
- Press the "More" dropdown.
- Choose "Easy Tab".
Note: This Easy Tab button will only show when a CFD is paired to your POS. This will not show in the POS without a connected CFD.

The steps will be identical as they were above.
- Authorize the guest's card.
- The guest will then input their phone number.
- The guest will then receive a text with a link to their tab.
- Guests will need to verify the last four digits of their card number for security purposes.
- Now your guests can order as they please from their devices!
Once a guest verifies their tab, their ticket will become interactive for texting on the KDS.
- Press the three dotted lines.
- You will see all texting functionalities appear, as well as the standard auto text on fulfill will now be active.
[^1]: Easy Tab On Pre Auth from the POS**
[^2]: Note: Once a guest verifies the last four digits of their card number using the Easy Tab text link, a checkmark will appear by their tab. This checkmark indicates to you that they are now verified via Easy Tab.***
[^3]: Easy Tab on Customer Facing Display**
[^4]: KDS Functionality with Easy Tab**
[^5]: Note: If the guest does not accept their tab by verifying the last four of their credit card, text functionality will not be available on the KDS for this tab until they do.***
---
# Easy Tab with +OPEN
URL: https://docs.gotab.io/operator/user-experience/easy-tab-with-plus-open/
Description: In this article we'll show our improved Easy Tab with +OPEN flow that now incorporates both into a single, seamless tab creation.
## In this article we'll show our improved Easy Tab with +OPEN flow that now incorporates both into a single, seamless tab creation.
For our self-pour locations already utilizing both Easy Tab and +OPEN, no additional settings are required. You'll just now see the improved flow.
https://play.hubspotvideo.com/v/7820027/id/189954318253
::video{src="/videos/side_add_on_master_option_group.mov"}
As normal, we would hit +OPEN.

We are immediately prompted for the RFID scan.

Now that we've scanned our RFID card, we are asked for the credit card authorization.

Once the credit card is authorized, the guest will now be able to enter their number to complete the Easy Tab process without requiring any additional button presses for the server.

If you're unfamiliar with Easy Tab, click [here](/operator/user-experience/how-to-use-easy-tab/)to learn more.
[^1]: Step by Step with +OPEN and Easy Tab**
---
# Full service: guest coursing
URL: https://docs.gotab.io/operator/user-experience/full-service-guest-coursing/
Description: Guests are able to take control of their food and drink pacing when utilizing guest coursing.
## Guests are able to take control of their food and drink pacing when utilizing guest coursing!
Guest coursing allows your guests to drag and drop items into courses that are predetermined for your location. To learn how to set up predetermined courses, click [here.](/operator/manager-dashboard/coursing-1/)
**Guest Ordering Flow:**
https://player.vimeo.com/video/806113796?h=4c83708991&badge=0&autopause=0&player_id=0&app_id=58479
- Begin ordering items
- Items with predetermined courses will show the course underneath the item in the cart
- Once items are in the cart, a guest can optionally select "course items" to edit their items courses to their liking
- When a guest places their order, they will be prompted to review or edit their courses again
- Once an order is officially sent through, items will be coursed on the KDS
Staff members can still edit guest-coursed items on the POS if they have not yet been fired. In addition, they can manually fire them early if needed.
[^1]: Note: One-tap orders can not be coursed. ***
[^2]: Batch orders in the KDS should be turned on in the instance guests share tabs.***
---
# Guest help button
URL: https://docs.gotab.io/operator/user-experience/guest-help-button/
Description: Allow your guests to reach you from their mobile ordering screen.
## Allow your guests to reach you from their mobile ordering screen.
You can enable the guest help button which allows guests to reach out to you during their mobile ordering experience.
When enabled, guests will see the help button on the bottom left of their ordering screen and send a pre-fixed message.

Guests can add other information once pressing one of the pre-fixed options.

Any **expo** KDS will receive these messages sent in by guests. Staff members on the expo KDS' can respond to guests via text or send a staff member to the table.
To enable this option for your location, navigate to your Location Settings.
- Edit
- Toggle on the "Help Button"
If guests are still unable to send messages via text to your operation, contact GoTab to make sure your guest communication is toggled on.
---
# End user experience: how to add a new payment method for QR ordering
URL: https://docs.gotab.io/operator/user-experience/how-to-add-a-new-card/
Description: Edit your payment methods to put multiple credit cards on file and switch between them seamlessly while paying out at GoTab locations. With our new split pay fe
Edit your payment methods to put multiple credit cards on file and switch between them seamlessly while paying out at GoTab locations. With our new split pay feature you can even split a tab across multiple cards that you have saved.
Click the profile icon in the top right corner.

Then press "settings"

Next, click the "Add a Payment Method" text on the profile page:

Enter all the relevant card information on the next screen. Make sure to read (and agree to) the terms of use, and save the card to your account:

Once you have a payment method on file, you will see all active cards on your profile page:

There is no limit to the amount of cards you can associate to your profile, and by clicking the drop down arrow next to any card you have added, you can set it as the primary payment method:

---
# End user experience: how to tip via QR ordering
URL: https://docs.gotab.io/operator/user-experience/how-to-change-a-tip/
Description: When you close out your tab at GoTab you will be prompted to enter a tip on the review tab screen, with preset percentage options and a custom tip amount.
## Edit a tip, choose a default tip, enter a custom tip
When you close out your tab at GoTab you will be prompted to enter a tip on the review tab screen. You will notice that there are three default % options as well as a custom tip amount:

For the most simple tipping experience, choose one of the preset options and your tip will be calculated automatically.
You are also welcome to select the "custom tip" option to the right of the 3 preset options. Choosing this option will expose a field where you can enter the exact dollar value that you want to tip.
Regardless of your tip value, the subtotal, taxes & fees, and tip will be added together automatically and displayed in the "Total" row. You then have the option to choose a payment method before moving on to close the tab.
---
# Easy Tab: how to set up
URL: https://docs.gotab.io/operator/user-experience/how-to-set-up-easy-tab/
Description: Learn how to configure Easy Tab on your POS, including prompting for Easy Tab on credit card authorization and managing the Keep Easy Tab Spot setting.
- In your POS, navigate to More--Settings--Payment
- Toggle on "Easy Tab on Preauth" to prompt for an Easy Tab when authorizing a credit card.

This setting keeps the spot on the tab so guests won't be required to scan a QR again when adding more to their order. They will be immediately dropped back into the menus. This is best used in a situation where a guest will be remaining at the same spot, i.e. they're sitting at Table 1 and won't be moving.
In a setup where a guest won't necessarily be at the same initial spot chosen (perhaps a bartender chose a quick spot at the bar but the guest will be taking their drink to an outside patio area) you **would not** want to keep "Keep Easy Tab Spot" toggled on. By toggling this off, the guest would then be required to scan a QR before adding to their order. By requiring the guest to scan, you'll now know where the guest is located.

To learn more about what Easy Tab can do for you, click [here](/operator/user-experience/how-to-use-easy-tab/)!
[^1]: Note: First reach out to your customer success manager to ensure Easy Tab is enabled at your location.***
[^2]: Prompt For Easy Tab when Authorizing a Credit Card**
[^3]: Note: This is a device specific setting so Easy Tab can be active on one display and not another.***
[^4]: Should I Use "Keep Easy Tab Spot"?**
---
# End user experience: how to share and join tabs
URL: https://docs.gotab.io/operator/user-experience/how-to-share-a-tab/
Description: Having your entire party on one open tab will vastly improve your dining experience. GoTab allows you to share your tab with guests at your table so you can all
Having your entire party on one open tab will vastly improve your dining experience. GoTab allows you to share your tab with guests at your table so you can all continuously order together on one shared tab!
1. **Share Tab via text or QR -**Once you have an open tab and are browsing the menu, click the 3 horizontal lines in the top left of your screen to open the categories/menus view:

In the following view, click the "Share" button at the bottom of the screen:

On the screen that follows, you can either click the "Copy Link" button to copy your tab URL, and then paste it in any text or chat with your friends or just have them scan it from your phone!

**2. Joinable -**The other way to share a tab is to open a "joinable" tab at your table that your friends can join by typing in your tab name.


[^1]: Note:** for them to be able to join your tab, they will have to spell your name EXACTLY as you entered it when you first created the tab. This is a security measure to ensure that strangers are not able to join your tab and place orders under your name.
---
# Easy Tab: What is it?
URL: https://docs.gotab.io/operator/user-experience/how-to-use-easy-tab/
Description: Easy Tab allows you to enhance a guest's QR Ordering experience by enabling servers or bartenders to simplify the account creation process and quickly guide the
## Easy Tab allows you to enhance a guest's QR Ordering experience by enabling servers or bartenders to simplify the account creation process and quickly guide the guests through it.
The most common issue with QR ordering is forcing guests to create an account themselves. With Easy Tab, we have eliminated the need for guests to go through the typical verification process and will allow them to automatically create an account by entering their phone number after their card is authorized via the payment terminal.
---
**How does it work?**
1. A server initiated order is started for the guest. A server will authorize a card prompting the guest to take their tab with them to continuously order themselves.
2. All a guest will need to do is enter their phone number into the payment terminal.
3. The guest will receive a text link to their tab.
4. Users will have to verify the last four digits of their card number. Upon entering this information, a GoTab account will automate for this guest.

Once the guest verifies their tab via the last four of their credit card, their account is now created and they can continue ordering. Guests can proceed directly into your menus or even use our new quick "Share Tab" feature upon Easy Tab verification, making it easier than ever for your guests to include their friends on their tabs.
Just like any other tabs in GoTab, an Easy Tab is accessible from the POS and servers can also add orders to a guests tab. This is cleanly broken out on a guests tab allowing for easy identification of items they entered on their own versus items added by a server.

To learn how to set-up Easy Tab, click [here](/operator/user-experience/how-to-set-up-easy-tab/).
---
# End User Experience: Joining a segment as a new user
URL: https://docs.gotab.io/operator/user-experience/joining-a-segment-as-a-new-user/
Description: A segment is a group of customers to which special circumstances may apply, such as discounts or vouchers.
## Join a segment, access a coupon, create an account
A **segment** is a group of customers to which special circumstances may apply. For example, an employee segment may give all users enrolled in a segment 50% off. Alternatively, users in a separate segment may receive a $25 voucher. The following steps explain how a new user will join an existing segment to accept their coupon, discount, voucher, etc.
1. Scan the segment QR code or click the segment link:

2. If you are not an active GoTab user, the first thing you will see on your screen is a prompt for you to enter your phone number and verify your device.
3. Once you have entered your cell phone number we will send you a 5 digit verification code that you will need to enter to confirm your device is active.
4. At this point you will be given the option to enter a payment method. Entering a payment method is not mandatory to join the segment, but you will need to enter a payment method before making a purchase.
5. Once you have entered your payment method you will be rerouted to the location home page which will show a message confirming that you have entered the segment.
5. At this point you are enrolled in the segment. Whatever rules exist on that segment (e.g. 10% off all orders) will apply to you as you continue ordering at that location.
[^1]: If you have additional questions about creating a segment or discount please reach out to us at support@gotab.io!**
---
# One-tap guest ordering
URL: https://docs.gotab.io/operator/user-experience/one-tap-guest-ordering/
Description: One-tap ordering allows for faster ordering once a guest already has an open tab in the QR order flow.
## One-tap ordering allows for faster ordering once a guest already has an open tab in the QR order flow.
The below video shows one-tap ordering. Our Knowledge Base guest already has an open tab, as noted in the lower left showing they are on the Knowledge Base tab. We click our I.Q. Brew and in the lower left the guest can either click OK immediately to send the item *or* at the end of the timer, the item will automatically be sent on their behalf. This allows guests to just send items as they know they want them. Perhaps they know they want another beer but still haven't decided on their main course. Rather than adding the beer to their cart, going to the cart to send the order and then coming back into menus, they can just one-tap order that beer and continue making their decision on what they'd like without leaving the menus.
::video{src="/videos/screen_recording_2025_02_10_134120.mp4"}
**Turn On One-Tap Order**
One-tap ordering is a setting you can find in your [Location Settings](https://manager.gotab.io/manager/location-configs/location?pick_loc=1)--Edit--Open Tab Settings

---
# End User Experience: How to Open a Tab
URL: https://docs.gotab.io/operator/user-experience/open-a-tab/
Description: By opening a tab, the customer only has to pay once while adding new items seamlessly, saving on credit card processing fees.
## Open tabs, closing tabs, & leaving tabs open
By opening a tab the customer only has to pay once, while adding new items to their tab seamlessly, and only pay taxes and fees a single time. Meanwhile the location saves money on credit card processing.
The following screenshot is an example of what your "review tab" might look like after you have browsed the menu and added items to your cart:

As you can see there is a toggle button at the bottom of your screen, just above your payment method. This button will keep your tab open and allow you to continue placing orders at this location on a single open tab.
[^1]: Note**: When you open a tab this way, we will "pre-authorize" your card for the value of the items in your first order plus a default tip as determined by the location. We do this to ensure that your card is active and has sufficient balance to cover your order. You may notice a separate charge on your bank statement as a result of this preauthorization, but this charge will disappear after 1-3 business days.
[^2]: Note**: There is no penalty for failing to close the tab. Because we already pre-authorized your card, if you forget to close the tab manually, our system will close the tab automatically at the end of the business day and your card will be charged a default tip (determined by the individual location).
---
# End User Experience: How to Order With GoTab QR Code
URL: https://docs.gotab.io/operator/user-experience/place-an-order-with-gotab/
Description: Step by step instructions for how to place an order.
## Step by step instructions for how to place an order
Step 1: Scan the QR code at your table

Step 2: Look through the menu or jump to a specific category
. 
Step 3: Click on an item to choose modifiers and add it to your cart

Step 4: Select "View Cart" at the bottom of your screen to begin the checkout process

Step 5: Confirm that the order is correct then pay.

You can then view your receipt:

---
# End User: Open tab pre-authorization on credit statement
URL: https://docs.gotab.io/operator/user-experience/pre-authorization/
Description: A credit card pre-authorization is a temporary hold placed by a merchant to validate a card is active before finalizing a transaction.
## Double charge, wrong charge, payment, unclear charge
A credit card **pre-authorization** is essentially a temporary hold placed by a merchant on a customer's**credit card**, designed to validate that a card is active. It allows merchants to guarantee the availability of a payment amount for a specific transaction before it is finally confirmed.
There are several key reasons merchants employ pre-authorizations:
**1. Security**: Enabling credit card pre-authorization avoids chargebacks because additional fraud checks can be performed while the payment amount is reserved. This reduces fraudulent chargeback occurrences and allows merchants to process payments safely
**2.** **Avoid Fees:**Many card processors apply a fee for refunded charges. If the payment hasn’t been captured and processed yet, you can simply cancel the hold and no refund is needed – because the payment was never completed – so no fees will be incurred
**3. Customer Satisfaction:** It is much easier and faster to cancel a hold on a customers card than it is to issue a refund. This allows us to comp and void customer payments on day of the transaction.
As a customer dining at a GoTab location you may encounter a pre-authorization while opening a tab. It is important to note that these are**NOT** double charges or incorrect charges on your account. They will disappear in 1-5 business days and the only remaining charge will be the value of your tab plus tax, fees, and tip.
[^1]: Feature Definition:**Credit Card Security
[^2]: Benefits: **By understanding how a pre-authorization works, you will learn why you may briefly see a second charge on your card statement and more importantly, that you will not actually end up paying that value.
---
# End User Experience QR: New Users
URL: https://docs.gotab.io/operator/user-experience/setupaccount/
Description: Upon scanning a QR code, new users are prompted to enter their mobile phone number, verify via SMS, and add a payment method to place an order.
## Upon scanning the QR, all new users will be prompted to enter their mobile phone number.

## Once the guest inputs their phone number, they will be sent a verification code via SMS.

## After the user verifies their phone number, they will be dropped into the GoTab ordering flow.

## Once the new user adds all items to their cart, they will press View Cart.

## To place an order, the new user must add a Payment Method on file.

---
# End User Experience: Guest item splitting on shared tabs
URL: https://docs.gotab.io/operator/user-experience/split-pay-by-item/
Description: When guests share tabs via QR ordering, they can choose the items or portions of the items they want to purchase.
## When guests share tabs via QR ordering, they can choose the items or portions of the items they want to purchase.
Guests can choose the items they want to pay for at the end of the order flow.

Select any of the items you want to pay for:

Or, select press "split item" to pay a portion of an item:

---
# End User Experience: How to split payment across multiple credit cards/gift cards
URL: https://docs.gotab.io/operator/user-experience/splitpay/
Description: Customers can split payment between any number of credit/debit cards, gift cards, and digital wallet payment methods such as Apple Pay or Google Pay.
Customers can split payment between any number of credit/debit cards, gift cards, and digital wallet payment methods (Apple/Google pay). Customers can enter specified amounts for each payment method. If a customer has gift cards and no credit cards, the gift cards are automatically selected.
Press "Or use another card"
**
* *
Toggle "Split between cards" to select multiple payment methods.
******
Each selected payment method will display with an adjustable amount field. Fees are determined by the amount entered.

---
# End user experience: Updating a user account
URL: https://docs.gotab.io/operator/user-experience/updating-a-user-account/
Description: If you are a frequent user, you will want to make sure all your information is up to date and accurate. This article will show you how to edit your profile.
If you are a frequent user, you will want to make sure all your information is up to date and accurate. This article will show you how to edit your profile as well as your payment method.
1. Navigate to gotab.com and select the profile icon in the top right corner:

2. Then press "settings"

3. You are now already in the edit profile page. From here you have access to all of your account information and settings:
**1. Name**: Name that appears to locations when you order
**2. Your Age:** Locations that serve alcohol and may require you to verify that you are above 21. Note: you will still be required to show a valid form of ID
**3. Coupons:**View all of your coupons at any location.
**4. Gift Cards:**View any GoTab gift cards
**5. Payment Method**: Add a credit card, debit card, or mobile wallet
**5. Address**: You may wish to add an address if you plan to order delivery from a GoTab location
---
# Adding Documentation
URL: https://docs.gotab.io/reference/adding-docs/
Description: How to publish your repo's docs to the GoTab docs site.
## Publish Your Repo's Docs in 3 Steps
Your docs stay in your repo. The docs site pulls them at build time — nothing gets copied.
**Step 1.** Create a `docs/` folder in your repo with markdown files:
```
my-service/
└── docs/
├── index.md # Landing page for your service
├── setup.md # Additional pages
└── api-guide.md
```
Every file needs frontmatter at the top:
```yaml
---
title: My Service
description: What this page covers.
access: public
---
Your content here.
```
Set `access: public` on pages that should be visible to non-employees on `docs.gotab.io`. Omit it (or set `internal`) for employee-only pages on `docs.gotab.org`.
**Step 2.** Get an API key — create one at `https://auth.gotab.org/keys` scoped to `docs.gotab.org/api/*`. Add it as `DOCS_API_TOKEN` in your repo's GitHub Settings → Secrets and variables → Actions.
**Step 3.** Add this file to your repo:
```yaml
# .github/workflows/publish-docs.yml
name: Publish Docs
on:
push:
branches: [main]
paths: ['docs/**']
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Register and rebuild docs
run: |
curl -sf -X POST https://docs.gotab.org/api/rebuild \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${{ secrets.DOCS_API_TOKEN }}" \
-d '{
"source": "GoTab-Inc/${{ github.event.repository.name }}",
"path": "docs"
}'
```
That's it. Push to `main` and your docs appear at `docs.gotab.org/tools//`.
---
## How It Works
Your repo is registered as a doc source. When the docs site builds, it pulls your `docs/` folder directly from GitHub, builds it into the site, and deploys. Your files are never committed to the docs repo.
```
your-repo/docs/ ──registered──→ sources.json ──CI build──→ pulls docs/
(pointer only) from your repo
│
builds both sites
├─ docs.gotab.org (all)
└─ docs.gotab.io (public only)
```
The first time you call `/api/rebuild`, it registers your repo in `sources.json` (a tiny config file — just a pointer, not your files) and triggers a build. Subsequent calls skip the registration if nothing changed and just trigger the rebuild.
## Access Control
Pages default to **internal only**. Set `access: public` in frontmatter to publish to `docs.gotab.io`.
You can also mix public and internal content on the same page:
```markdown
This content is visible on both sites.
:::internal
This section is only visible to GoTab employees on docs.gotab.org.
On docs.gotab.io it's stripped at build time — it never reaches the browser.
:::
This content is also visible on both sites.
```
| Frontmatter | Behavior |
|-------------|----------|
| *(omitted)* | Internal only — `docs.gotab.org` with SSO |
| `access: public` | Both sites |
| `:::internal` block | Stripped from public site |
## Rebuild API
Manage doc sources programmatically. Auth via `cf_sso` API key (`Authorization: Bearer sso_...`):
```bash
# Register (or trigger rebuild if already registered)
curl -X POST https://docs.gotab.org/api/rebuild \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sso_..." \
-d '{ "source": "GoTab-Inc/my-service", "path": "docs" }'
# List all registered sources
curl https://docs.gotab.org/api/rebuild \
-H "Authorization: Bearer sso_..."
# Unregister
curl -X DELETE https://docs.gotab.org/api/rebuild \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sso_..." \
-d '{ "source": "GoTab-Inc/my-service" }'
```
## Example Doc File
Here's a minimal `docs/index.md` for a service:
```markdown
---
title: Payment Service
description: Payment processing APIs and integration guide.
access: public
---
## Overview
The Payment Service handles all payment processing for GoTab.
## Authentication
All requests require a Bearer token from the GoTab OAuth endpoint.
:::internal
### Internal: Debug Endpoints
POST `/internal/payments/:id/retry` — retry a failed payment.
Requires `admin` role.
:::
## Endpoints
### Create Payment Intent
POST `/v2/payments/intents`
Creates a new payment intent for a tab.
```
## Other Ways to Edit
- **GitHub editor**: Edit markdown directly at `github.com/GoTab-Inc/docs_content` — GitHub renders Mermaid diagrams in preview
- **Direct PR**: Clone `GoTab-Inc/docs_content`, edit files in `docs/`, open a PR
- **API reference**: OpenAPI specs in `public/specs/` power the interactive tester at `/api-reference`
## LLM Access
Both sites expose content for LLM consumption:
| Endpoint | Format | Description |
|----------|--------|-------------|
| `/llms.txt` | Text | Index of all pages with titles and URLs |
| `/llms-full.txt` | Text | Full content of all pages concatenated |
| `/api/knowledge` | JSON | Knowledge base articles with category filtering |
---
# API Deprecations
URL: https://docs.gotab.io/reference/api-deprecations/
Description: Deprecated GoTab API endpoints, sunset dates, and migration paths.
## Endpoints currently sunsetting
The following endpoints are being gradually disabled and will stop working completely after the date indicated in the table. Before the sunset date, those endpoints will randomly, at an increasing rate, **return 404 Not Found responses**. After the sunset date, those endpoints will return an error response to all requests.
|
API & Version
|
Endpoint
|
Method
|
Replacement
|
Deprecation date
|
Sunset Date
|
|
REST 1.0
|
`/api/pay/{tab_uuid}`
|
POST
|
`/loc/:location_uuid/tabs/:tab_uuid/payments`\
OR\
`/tabs/:tab_uuid/payments`
|
March 2022
|
March 2022
|
|
|
|
|
|
|
## Deprecated endpoints
The following endpoints have been deprecated which means they should not be used in new applications. Instead, new endpoints should be used as indicated in the table below.
|
API & Version
|
Endpoint
|
Method
|
Replacement
|
Deprecation Date
|
|
REST 1.0
|
`/api/pay/{tab_uuid}`
|
POST
|
`/loc/:location_uuid/tabs/:tab_uuid/payments`\
OR\
`/tabs/:tab_uuid/payments`
|
March 2022
|
---
# Changelog
URL: https://docs.gotab.io/reference/changelog/
Description: A record of notable GoTab API changes, additions, and deprecations.
This page tracks notable changes to the GoTab API. Breaking changes and deprecations are always called out explicitly.
---
# API Changelog
Versioned history of changes to the GoTab REST API. We use [Semantic Versioning](https://semver.org/):
- **Major (X.0.0)** — Breaking changes: removed endpoints, renamed/removed response fields, schema changes
- **Minor (x.Y.0)** — New endpoints, new response fields, non-breaking additions
- **Patch (x.y.Z)** — Bug fixes, no new routes or response fields
---
## [2.12.0] - 2026-08-24
### Added
- Loyalty API — `email_marketing_opt_in` on the `ENROLL` event's `customer_data` object. Always a boolean, reflecting the guest's marketing consent toggle on the enrollment form. The toggle defaults to on, so `true` is the common case; a guest who turns it off produces `false` and should not be enrolled in marketing email
- Loyalty API — documented the `ENROLL` event: how to request the enrollment form (respond to `INQUIRE` with a 404 and the message `ENROLL_CUSTOMER`), the `customer_data` payload and field formats, and the expected success and failure responses
- Tab pass spend limits — `GET /loc/{location}/tabs/passes/{x_pass_id}` now returns `spend_limit` (`amount` in cents and an `enforce` mode of `pre` or `post`) and `spent` on the `tab_pass` object. `spent` is the sum of the pass's non-pending, non-voided orders, so `PENDING` and `VOIDED` orders are excluded. `spend_limit` is `null` when no limit is set. Requires the `tab_pass_spend_limits` feature flag on the location
- Tab pass spend limits — `POST /loc/{location}/tabs/passes/{x_pass_id}/items` enforces the limit and returns a `400` with the alert `This pass has reached its spend limit.` when an order would violate it. `pre` blocks the order that would push `spent` over the limit; `post` allows that order and blocks the next one. Only orders placed through this endpoint count toward a pass's `spent` — orders added through the regular add-items endpoint are not attributed to the pass. See [Tab Pass Spend Limits](/guides/tab-pass-spend-limits/)
---
## [2.11.0] - 2026-07-27
### Added
- `POST /loc/subscribe` — subscribes one or more locations to the integration associated with the bearer token. Intended for integrator-driven location mapping: after an end user selects locations in the integrator's UI, post the chosen `location_uuids`. The integration is resolved from the token, and the token's user must have access to every requested location — if any location fails the access check, no locations are subscribed
- Loyalty API — customers can now be looked up by name or phone number. The lookup still resolves to a phone number as the lookup value
- Loyalty API — `customer_handles` array on the `INQUIRE` event when the name/phone lookup type is used, containing all phone numbers and emails on file for the customer
### Changed
- `POST /loc/{location}/tabs/{tab_uuid}/refund` — refunds are issued against a single payment on the tab. `paymentId` is optional when the tab has exactly one refundable payment. Provide either `amount` (in cents) for an open refund or `items` for an itemized refund, but not both; each `items` entry requires an `itemId` and a positive integer `quantity`, with an optional `reason`. The top-level `reason` defaults to `"Refund"`
---
## [2.10.0] - 2026-07-19
### Added
- Webhook event: `OPTION_GROUP_UPDATED` — fired whenever an option group is created or updated at a location
---
## [2.9.0] - 2026-06-22
### Added
- Bulk product create/update endpoints now accept `accountingStreamId`. API-driven product creation can explicitly associate products with an accounting stream, resolving an issue where OPEN products defaulted to "Open Items"
---
## [2.8.0] - 2026-06-15
### Added
- Webhook events: `ITEM_VOIDED`, `ITEM_COMPED`, and `PAYMENT_REFUNDED`
---
## [2.7.0] - 2026-03-31
### Changed
- Payment Terminal API — updated fields and response shape
---
## [2.6.0] - 2026-02-24
### Added
- Verification API — `POST /v2/verification/challenge` and `GET /v2/verification/verify`
- GoTab Wallet — JWT `payment_session_token` on payment sessions
---
## [2.5.0] - 2026-01-27
### Added
- Payment session route for GoTab Wallet
---
## [2.4.0] - 2025-11-17
### Added
- Terminal Checkout API
- Option Tags and Order Rules
- Webhook events to notifications + Slack notification type
---
## [2.3.0] - 2025-09-03
### Added
- Region separation for Terminal API
- API user `user_id` on orders
- All product tags for menus and zones
### Changed
- Ordering API updated for new options
- Loyalty odds and ends
---
## [2.2.0] - 2025-07-21
### Added
- `tab_id` and `tab_uuid` on `ITEM_ADDED`/`ITEM_REMOVED` events
- Item remove route with `itemsToVoid` array support
- Cover count on create-a-tab route
- Client-side credentials
### Changed
- `spot_uuid` required on tab create
- Open Discount route moved to ordering API
---
## [2.1.0] - 2025-05-28
### Added
- Payments SDK endpoints
- Payment Terminals name and status in DB
- Webhooks setup CORS on API routes
---
# Developer Terms and Conditions
URL: https://docs.gotab.io/reference/developer-terms-and-conditions/
Description: Effective Date March 01, 2022 Thanks for your interest in GoTab's Developer Platform! These GoTab Developer Terms (these “ Terms ”) are a binding a
Effective Date March 01, 2022
Thanks for your interest in GoTab's Developer Platform! These GoTab Developer Terms (these “**Terms**”) are a binding agreement between you (“**you**” or “**Developer**”) and GoTab, Inc. d/b/a “GoTab” and any of our related companies (“**GoTab**”, “**we**” or “**us**”) and govern your use of our Developer Platform. If you are entering into these Terms on behalf of a company, organization or another legal entity, then “you” or “Developer” refers to that entity, and you represent and warrant that you have the authority to bind that entity to these Terms. If you do not have such authority, or if you do not agree with these Terms, you must not accept these Terms or use or access the Developer Platform. GoTab may modify these Terms from time to time, subject to Section 19 (Changes to Terms) below.
**By clicking on “I agree” (or a similar button) or by using or accessing the Developer Platform, you agree to be bound by these Terms.**
### 1 How These Terms Apply
These Terms apply if you use the Developer Platform to enable an application or service you operate (an “**Add-On**”) to integrate with GoTab’s mobile payment web application (collectively, the “App”) (the “**GoTab Service**”). Any use of the GoTab Service itself remains subject to the separate terms you’ve entered into for your subscription to the GoTab Service (the “**GoTab Terms**”). “**Developer Platform**” means GoTab’s APIs, personal tokens, developer credentials and other tools or services allowing developers to interface with the GoTab Service, as may be updated or modified from time to time.
### 2 Registration
To use the Developer Platform, you must complete any registration requirements established by GoTab. You must keep any Developer credentials confidential, and not share them with any third parties.
### 3 Use of Developer Platform
Subject to these Terms, you may use the Developer Platform to enable your Add-On to integrate with the GoTab Service. All of your use rights in these Terms (including rights to use GoTab Marks below) are limited, non-exclusive, non-sublicensable, non-transferable and revocable, and you may only use the Developer Platform in accordance with the Developer Policies (as defined below). You may permit your agents and contractors to exercise your rights on your behalf, provided you remain responsible for their compliance with these Terms.
### 4 Developer Policies
These Terms incorporate the current version of GoTab’s Developer Platform documentation (currently available [here](https://docs.gotab.io)), privacy requirements (currently available [here](https://gotab.io/en/privacy-policy/)) (“**Privacy Policy**”) and any other linked or referenced GoTab terms (collectively, the “**Developer Policies**”).
### 5 Approval
Your participation as a Developer and each Add-On are subject to GoTab’s ongoing approval in its sole discretion. We reserve the right to test Add-Ons for security, performance and other criteria, and you agree to provide us with access to your Add-Ons and other reasonably requested information at any time upon request. We may change our approval processes or any user or activation level threshold for approval at any time.
### 6 Access Limits
GoTab may monitor your use of the Developer Platform and, from time to time, may place limits on access to the Developer Platform (e.g., limits on numbers of calls per end user account).
### 7 Listings on the GoTab Service
GoTab may make available Add-On listings or other features allowing end users to discover or enable Add-Ons on the GoTab Service or GoTab websites (“**Listings**” and its variants). To submit your Add-on for Listing, you must provide GoTab with your product description, icons, Your Marks and related materials that we reasonably request (collectively, “**Add-On Package**”).
**a. GoTab Rights**. If GoTab approves your Add-On for Listing, then you hereby grant GoTab a worldwide, non-exclusive license to (i) list, promote and market the availability of your Add-On in connection with the GoTab Service, GoTab websites and related marketing materials, including rights to use, format, copy, distribute publicly perform and display your Add-On Package; and (ii) create screenshots and excerpts of your Add-On’s usage with the GoTab Service. For clarity, GoTab retains sole discretion and control over the placement, look and feel of any approved Listings.
**b. Removals.** You may request that we remove your Listing at any time by contacting [api.support@got.io](mailto:api.support@got.io) We will use commercially reasonable efforts to promptly remove the Listing following receipt of your request. You agree to cooperate as requested by GoTab regarding end user transition and communications. In addition to its other rights, GoTab may temporarily or permanently take-down any Listing (and disable any Add-Ons) in its discretion, without notice or liability to you.
### 8 Restrictions
You may only use the Developer Platform as permitted in these Terms. You will not (and will not permit anyone else to): (a) access the Developer Platform except through personal tokens and credentials we provide; (b) attempt to circumvent any of the Developer Platform’s access or usage limits; (c) sublicense, sell or grant third parties access to the Developer Platform or any end user account, other than permitted use by your agents or contractors in Section 3 (Use of Developer Platform); (d) use the Developer Platform for competitive purposes or to operate Add-Ons that substantially replicate features of the GoTab Service; (e) reverse engineer, modify or create derivative works of the Developer Platform; (f) make calls to the Developer Platform not driven by bona fide end user requests (except for reasonable testing); (g) publish benchmarks or performance information about the Developer Platform; (h) test the capabilities or security of the Developer Platform or GoTab Service or disrupt their integrity or performance; (i) use the Developer Platform for any unlawful, infringing or offensive purpose or (j) use the Developer Platform with any Add-On that constitutes spyware, adware or malicious code or send any malicious code to the Developer Platform or GoTab Service.
### 9 Use of Marks
**a. GoTab Marks.** Subject to these Terms, you may use the appropriate GoTab names, logos and other trademarks as designated in the GoTab Brand Guidelines ("**GoTab Marks**"), solely to promote your Add-On’s availability for use with the GoTab Service. For clarity, you may not use GoTab Marks to imply that GoTab endorses your Add-Ons or give your Add-On a name or branding that includes the word “GoTab”. Your use of GoTab Marks must comply with the GoTab Brand Guidelines and (without limiting GoTab’s other termination rights) you must promptly cease any use of GoTab Marks we identify as problematic. You receive no other rights to GoTab Marks under these Terms. All goodwill arising from use of GoTab Marks belongs to GoTab.
**b. Your Marks.** GoTab may (but is not obligated to) use your name, logos and other trademarks (including those related to your Add-Ons) (“**Your Marks**”) to identify you as a GoTab developer and to promote your Add-Ons, the Developer Platform and the GoTab Service. GoTab receives no other rights to Your Marks under these Terms. All goodwill arising from use of Your Marks belongs to you. These rights (and if applicable GoTab’s rights in Section 7.a (GoTab Rights)) are sublicensable through multiple tiers, including GoTab’s affiliates, contractors and marketing partners, and may be exercised in connection with the GoTab Service, the Developer Platform and in related marketing and promotion, in any form or media.
### 10 Your Responsibilities
**a. Your Add-Ons and End Users.** You are solely responsible, at your own expense, for your Add-Ons (including their operation and support) and your relationships and agreements with end users regarding your Add-Ons.
**b. Support.** You will provide end users with reasonable telephone, web-based and/or email support during normal business hours and maintain your Add-Ons in accordance with any service level agreements we might reasonably require from time to time. You will also provide GoTab with a current email address to which GoTab may direct end user inquiries about your Add-Ons and designate a support contact (name and email address) for GoTab personnel. For clarity, GoTab has no obligation to provide any end user support for Add-Ons.
**c. End User Data.** An end user may enable you or your Add-On to access elements of its GoTab account and/or certain of its data, content or information within the GoTab Service (collectively, “**End User Data**”). You may access End User Data only to the extent enabled and authorized by the end user, solely on the end user’s behalf and as necessary to provide your Add-Ons to that end user. You will ensure that all End User Data is collected, processed, transmitted, maintained and used in accordance with (i) your agreement with the end user, a legally adequate privacy policy, and appropriate notices to and consents from end users, (ii) all laws, rules, regulations or orders, including those relating to data privacy, data transfer, international communications or the export of technical or personal data (“**Laws**”) and (iii) industry-standard technical, administrative and physical security measures that protect the security and privacy of all End User Data and meet the Security Requirements.
**d. Minimum Terms.** Your agreement with end users will expressly disclaim any liability on GoTab’s part for any losses or damages suffered by end users in connection with your Add-On. Your privacy policy will clearly explain (i) what personal information your Add-On collects, (ii) how you collect and use personal information, (iii) with whom you intend to share personal information, (iv) in which country or countries personal information will be stored, (v) any other details required to be disclosed under applicable privacy Laws and (v) that you – and not GoTab – are responsible for safeguarding the personal information you collect.
**e. GoTab Customer Terms.** Use of the GoTab Service requires each end user to enter into [GoTab Terms](https://gotab.io/en/terms-of-use/). You will not facilitate or encourage any end user to violate the GoTab Terms. If GoTab receives any data from you or your Add-Ons on an end user’s behalf, that data will be subject solely to the GoTab Terms with the applicable end user, and such data will no longer be subject to your own terms with the end user.
**f. Fees.** You may not directly or indirectly charge end users for use of, or access to, the functionality of the Developer Platform. If you charge any fees for your Add-Ons, you are solely responsible for collecting those fees. For clarity, these Terms grant you no right to distribute or resell the Developer Platform.
**g. Your Representations and Warranties.** You represent and warrant that (i) you have full power and authority to enter into and perform these Terms and to exploit your Add-Ons without violating any other agreement; (ii) your Add-Ons and their use will not violate any Laws or third party rights (including intellectual property rights, and rights of privacy or publicity), and you will notify GoTab if your Add-ons become subject to any claim or complaint regarding violation of Laws or third party rights; (iii) all information you provide to GoTab is and will be true, accurate and complete (and you will keep such information up-to-date). You agree not to (A) suggest any affiliation with GoTab (including that GoTab sponsors, endorses or guarantees your Add-Ons) except for the relationship expressly contemplated in these Terms and (B) make any representations, warranties or commitments on GoTab’s behalf or regarding the Developer Platform or GoTab Service.
**h. Indemnification.** You will indemnify, defend (at GoTab’s request) and hold harmless GoTab and its affiliates and their respective directors, officers, employees, agents, contractors, end users and licensees from and against any claims, losses, costs, expenses (including reasonable attorneys’ fees), damages or liabilities based on or arising from (i) your Add-Ons, (ii) your relationships or interactions with any end users or third party distributors of your Add-Ons, or (iii) your breach or alleged breach of these Terms. GoTab may at its own expense participate in the defense and settlement of any claim with its own counsel, and you may not settle a claim without GoTab’s prior written consent (not to be unreasonably withheld).
### 11 Ownership
GoTab does not claim ownership of your Add-Ons and you reserve all rights not expressly granted in these Terms. GoTab and its licensors retain all ownership and other rights (including all intellectual property rights) in the Developer Platform. Providing feedback, comments, or suggestions about the Developer Platform (“**Feedback**”) to GoTab is wholly voluntary. GoTab may freely use or exploit Feedback for any purpose.
### 12 Support; Changes to Developer Platform
GoTab has no obligation to provide any maintenance or support for the Developer Platform (or to end users of your Add-Ons) or to fix any errors or defects. From time to time, GoTab may change the Developer Platform. Future versions of the Developer Platform may not be compatible with your Add-Ons developed using previous versions. GoTab typically makes these changes as part of its overall developer program and is unable to provide notice of the changes to developers individually. GoTab will have no liability resulting from the actions described in this Section.
### 13 Termination and Suspension
These Terms remain in effect until terminated.
**a. By Developer.** Developer may terminate these Terms at any time by ceasing all use of the Developer Platform.
**b. By GoTab.** GoTab may terminate or suspend these Terms or your access to the Developer Platform (in whole or in part): (i) for no reason or any reason upon seven (7) days’ notice to you and (ii) immediately if you breach any provision of these Terms, if GoTab is required to do so by Laws, if GoTab ceases offering the Developer Platform, in case of any security breach or other concern under the Security Requirements, or if GoTab otherwise determines in its discretion that such action is necessary to avoid harm, liability or reputational damage to GoTab, the Developer Platform or GoTab Service, or any end user.
**c. Effect of Termination.** Upon any termination, (i) your rights to use the Developer Platform and GoTab Marks will immediately terminate and you will cease all such use, (ii) you will return or destroy all Confidential Information (as requested by GoTab) and (iii) Sections 9.b (Your Marks), 10 (Your Responsibilities), 11 (Ownership) and 13 (Termination and Suspension) through 22 (General) will survive. After termination, you will have no further access to any data or content that you submitted to GoTab relating to the Developer Platform.
**d. No Obligation or Liability.** GoTab will have no obligation or liability resulting from termination, suspension or disablement as contemplated in Section 7.b (Removals) or this Section 13.
### 14 Disclaimer of Warranties
TO THE FULL EXTENT PERMITTED BY LAW, THE DEVELOPER PLATFORM IS PROVIDED “AS IS” AND “WITH ALL FAULTS” AND GOTAB AND ITS THIRD-PARTY LICENSORS DISCLAIM ALL REPRESENTATIONS, WARRANTIES AND GUARANTEES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR ANY PURPOSE. GOTAB MAKES NO REPRESENTATION, WARRANTY OR GUARANTEE RELATED TO AVAILABILITY, RELIABILITY, ACCURACY, COMPLETENESS, PERFORMANCE OR QUALITY OF THE DEVELOPER PLATFORM, THAT GOTAB WILL CONTINUE TO OFFER ANY DEVELOPER PLATFORM OR THAT USE OF ANY DEVELOPER PLATFORM WILL BE SECURE, TIMELY, UNINTERRUPTED, ERROR-FREE OR MEET DEVELOPER’S REQUIREMENTS OR EXPECTATIONS. You may have other statutory rights, in which case the disclaimers above will apply to the full extent permitted by law.
### 15 Limitations of Liability
TO THE FULL EXTENT PERMITTED BY LAW, IN NO EVENT WILL GOTAB BE LIABLE (i) FOR ANY LOSS OF USE, LOST DATA, FAILURE OF SECURITY MECHANISMS, INTERRUPTION OF BUSINESS, OR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING LOST PROFITS OR LOST DATA), EVEN IF INFORMED OF THE POSSIBILITY OF SUCH DAMAGES IN ADVANCE OR (ii) IN ANY EVENT, FOR ANY DAMAGES OR LIABILITIES EXCEEDING ONE HUNDRED NEW ZEALAND DOLLARS ($100). NOTWITHSTANDING ANYTHING TO THE CONTRARY, GOTAB HAS NO WARRANTY, INDEMNIFICATION OR OTHER OBLIGATION OR LIABILITY WITH RESPECT TO YOUR ADD-ONS OR THEIR COMBINATION, INTERACTION OR USE WITH ANY DEVELOPER PLATFORM OR GOTAB SERVICE. You acknowledge and agree that this Section 15 reflects a reasonable allocation of risk and will apply regardless of the form of action, whether in contract, tort (including negligence), strict liability or otherwise, and that GoTab would not enter into these Terms without these liability limitations. This Section will survive notwithstanding any limited remedy’s failure of essential purpose.
### 16 GoTab Confidential Information
Any non-public elements of the Developer Platform and any other information disclosed by GoTab that is marked as confidential or proprietary or that should reasonably be understood to be confidential or proprietary from the circumstances of disclosure is “**Confidential Information**”. Confidential Information does not include any information that: (a) is or becomes generally known to the public; (b) was known to you before its disclosure by GoTab; or (c) is received from a third party, in each case without breach of an obligation owed to GoTab or anyone else. You will (i) maintain Confidential Information in confidence (using at least the same measures as for your own confidential information, and no less than reasonable care) and not divulge it to any third party and (ii) only use Confidential Information to fulfill your obligations under these Terms. If you are compelled by law to disclose Confidential Information, you must provide GoTab with prior notice of such compelled disclosure (to the extent legally permitted) and reasonable assistance if GoTab wishes to contest the disclosure. In the event of actual or threatened breach of this Section 16, GoTab will have the right, in addition to any other remedies available to it, to seek injunctive relief to protect its Confidential Information, it being specifically acknowledged by the parties that other available remedies may be inadequate.
### 17 Independent Development; Information You Provide Not Confidential
GoTab develops its own products and services and works with many other GoTabors and developers, and either GoTab or these third parties could in the future develop (or already have developed) products similar to yours. You should not provide to GoTab any information that you consider confidential and you agree that GoTab is not subject to any confidentiality obligations or use restrictions related to information that you may provide to GoTab. You expressly agree that nothing in these Terms limits GoTab’s right to develop, or have developed, products, concepts, systems or techniques that are similar to or compete with any of your Add-Ons or anything contemplated by or embodied in information you disclose to GoTab. For clarity, however, this Section in itself does not grant GoTab any license under your intellectual property rights.
### 18 Usage Data
In addition to GoTab’s other rights, GoTab may collect certain data and information regarding your use of the Developer Platform, including data about your data pulls or requests, your Add-Ons, and the end user accounts that you access (“**Usage Data**”). We may use and exploit Usage Data for any purpose in connection with operating, improving and supporting the Developer Platform.
### 19 Changes to Terms
GoTab may modify these Terms from time to time. GoTab will use reasonable efforts to notify you of modifications as provided in Section 20 (Notices). You may be required to click through the modified Terms to show your acceptance and in any event your continued use of the Developer Platform after the modification constitutes your acceptance to the modifications. If you do not agree to the modified Terms, your sole remedy is to terminate your use of the Developer Platform as described in Section 13 (Termination and Suspension).
### 20 Notices
GoTab may provide you with notices and communications at your email, phone number or physical address on file, through our website, or other reasonable means. Any notices or communications to GoTab must be sent to [api.support@gotab.io](mailto:api.support@gotab.io).
### 21 Export
The Developer Platform may be subject to export restrictions by the United States government and import restrictions by certain foreign governments, and you agree to comply with all applicable export and import laws and regulations in your use of the Developer Platform. You represent and warrant that you are not located in a country subject to a U.S. Government embargo, or that has been designated by the U.S. Government as a “terrorist supporting” country, and that you are not listed on any U.S. Government list of prohibited or restricted parties.
You may not use or otherwise export or re-export the Web App or elements thereof except as authorized by United States law and the laws of the jurisdiction in which the Web App was accessed or obtained. The Web App and related documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. The Commercial Computer Software and Commercial Computer Software Documentation are being licensed to any U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein.
### 22 General
These Terms are the parties’ entire agreement and supersede any prior or contemporaneous agreements relating to its subject matter. Except as set forth in Section 18 (Changes to Terms), will not be changed, modified, or amended except by a writing executed by both parties or if you electronically accept a subsequent agreement or amendment delivered by GoTab via a click-to accept mechanism. The words “including” and similar terms are to be construed without limitation. Failure to enforce any provision is not a waiver and all waivers must be in writing. If any provision is found to be unenforceable it (and related provisions) will be interpreted to best accomplish its intended purpose. Developer may not assign, transfer or delegate any right or obligations under these Terms and any non-permitted assignment is void. GoTab may assign these Terms and its rights and obligations to any of its affiliates or in connection with a merger, reorganization, acquisition or other transfer of all or substantially all of its assets or voting securities to which these Terms relate. The parties are independent contractors and these Terms do not create any agency, partnership, or joint venture.
### 23 Miscellaneous.
The laws of the State of Virginia, excluding its conflicts of law rules, govern this this license and your use of the Web App and Developer Platform. The exclusive jurisdiction and venue of any action arising out of or related to this Agreement will be either the state or federal courts in Virginia, and the parties agree and submit to the personal and exclusive jurisdiction and venue of these courts. Your use of the Web App and Developer Platform may also be subject to other local, state, national, or international laws. This Agreement constitutes the entire agreement between us regarding the Developer Platform. The section titles in this Agreement are for convenience only and have no legal or contractual effect. This Agreement operates to the fullest extent permissible by law. You may not transfer or assign this Agreement or any of its rights or obligations hereunder without our prior written consent, and any attempt to do so shall be null and void. If any provision of this Agreement is unlawful, void or unenforceable, that provision is deemed severable from this Agreement and does not affect the validity and enforceability of any remaining provisions.
---
# Hardware Deprecations
URL: https://docs.gotab.io/reference/hardware-deprecations/
Description: End-of-life and discontinued hardware notices from GoTab and OEM manufacturers.
The following hardware has been considered discontinued or end-of- life by the either original equipment manufacturer (OEM) or GoTab.
**FINAL ORDER DATE**: Is defined as the last date by which new orders for the listed hardware below can be placed.
**END-OF-DEVELOPMENT DATE**: There will be no new software development or application enhancements after the specified date below. GoTab or the OEM may, however, continue to issue bug fixes for critical issues for an extend period of time.
**END-OF-SERVICE DATE**: On the date listed below, Service and Repair for hardware products will be discontinued.
## OEM Announcements
| Manufacturer | Model Name | Model Number | Final Order | End of Development | End of Service |
| :----------- | :--------- | :----------- | :---------- | :----------------- | :------------- |
| | | | | | |
## GoTab Announcements
| Manufacturer | Model Name | Model Number | Final Order | Final Development | End of Service |
| :----------- | :--------- | :----------- | :---------- | :---------------- | :------------- |
| | | | | | |
---
# Partner Requirements
URL: https://docs.gotab.io/reference/partner-requirements/
Description: Stay in good standing as a GoTab Partner by meeting all of GoTab's technical and business requirements for your integration type. Select the type of
Stay in good standing as a GoTab Partner by meeting all of GoTab's technical and business requirements for your integration type.
Select the type of integration you are building to see GoTab's corresponding requirements and recommendations.
* [Platform Add-ons](partner-requirements#platform-add-ons) is reserved for integration partners who plan to resell their product or services to GoTab clients.
* [Single Use Add-on](partner-requirements#single-use-add-on) is reserved for integrators who build an application or service that is intended only for a specific client.
## Platform Add-on
### Business Requirements
* Have a minimum of 5 active connected accounts.
* Create a GoTab-specific landing page that explains your integration ( for example, [7Shifts](https://www.7shifts.com/integrated-partners/gotab) )
* Provide required partner listing links.
* Adhere to GoTab brand and trademark guidelines. For example, while you may reference your partnership with us, or note that your offering works “with GoTab” or “for GoTab,” or is “powered by GoTab,” you may not use “GoTab” as part of the name of your offering (including, for example, in your domain name, social media handle, app name, and so on).
* Sign a Developer Processing Agreement if your application will act as a third party service and have access to guest/customer information.
* OAuth 2.0 and GoTab's marketplace listing.
### Integration Requirements
* Use GoTab's APIs to access GoTab's accounts and data.
* Maintain physical, electronic, and procedural safeguards designed to protect the [Information](https://gotab.io/en/privacy-policy/).
* At a minimum, TLS 1.2 should be used for log-in pages or any other pages where data or personal information is being entered.
* Certify your application before any live customers are added to the platform.
### Best Practices
* Do not expose location data to users or guest that do not have permissions for the specific account or location.
* Do not store card data in GoTab outside of GoTab's customer profile card on file application.
* Frequently check the [change log](/changelog) to ensure your application is utilizing the latest features and endpoints.
* You should put in place control mechanisms to make sure that access to data is restricted to operational staff that need it, and that you have appropriate policies and training in place for those staff regarding data use and security.
## Single Use Add-on
### Business Requirements
* Have a minimum of 1 active connected account but no more than the maximum number of active locations associated with the account.
* Adhere to GoTab brand and trademark guidelines. For example, while you may reference your partnership with us, or note that your offering works “with GoTab” or “for GoTab,” or is “powered by GoTab,” you may not use “GoTab” as part of the name of your offering (including, for example, in your domain name, social media handle, app name, and so on).
### Integration Requirements
* Use GoTab's APIs to access GoTab's accounts and data.
* Maintain physical, electronic, and procedural safeguards designed to protect the [Information](https://gotab.io/en/privacy-policy/)
* At a minimum, TSL 2.0 should be used for log-in pages or any other pages where data or personal information is being entered, though we recommend that all logged-in pages are secured with TLS 1.2.
* API AccessId and AccessSecret and no GoTab marketplace listing.
### Best Practices
* Do not expose location data to users or guest that do not have permissions for the specific account or location.
* Do not store card data in GoTab outside of GoTab's customer profile card on file application.
* Frequently check the [change log](/changelog) to ensure your application is utilizing the latest features and endpoints.
* You should put in place control mechanisms to make sure that access to data is restricted to operational staff that need it, and that you have appropriate policies and training in place for those staff regarding data use and security.
---
# Terminology
URL: https://docs.gotab.io/reference/terminology/
Description: Key terms used throughout the GoTab platform and API documentation.
This page explains several terms that are used throughout the documentation as they relate to GoTab's product framework and design. This is not an exhaustive list of terms but should serve as a general starting point for understanding the GoTab restaurant commerce platform.
## Catalog
The catalog is the full assortment of product at a location. The catalog is organized logically into one or more categories.
A default menu that matches the catalog setup is created automatically. This is the menu that is shown when catalog\_view is enabled.
## Category
A category is a collection of products.
## Concierge
The Concierge is GoTab's web-based interface for coordinating with guests and the KDS through messaging.
## Guests
Guests are the end users that ultimately create orders or have orders created for them (via the POS) at locations.
## Item
An item is a specific configuration of a product and its options and is associated with a particular order.
## Integration
Integrations are third-party services that GoTab interacts with to provide extra functionality to both guests and operators.
Examples of integrations include QuickBooks, Klaviyo, and Omnivore.
## KDS
The KDS (Kitchen Display System) is GoTab's web-based interface for interacting with previously placed orders.
This system is usually displayed on a tablet in the kitchen at a location and is meant to be accessible by kitchen staff in order to coordinate the flow of orders through GoTab's system.
## Location
Locations represent a physical restaurant, bar, or any other entity where orders can be placed by guests.
## Manager
Managers are users at locations with elevated permissions that allow them to perform mangerial actions throughout GoTab's system.
This includes actions such as issuing refunds, viewing sales data, managing labor data, and creating other users.
## Menu
Menus are a specific grouping of categories and their products.
Menus are the groupings that guests interact with when creating orders in order to better facilitate navigation through.
## Option
An option is a configuration that guests are able to choose when building an order.
Options are specific to the product and may contain rules such as limits and minimumns.
The particular combination of products and options that gets associated with the order is an item.
## Order
An order is a resource representing the intent of a guest to purchase and receive one or more items either immediately or in the future.
Orders are always associated with a single tab, whether the tab is "open" or not, as the act of creating an order also creates a tab.
Orders can also be created by servers through the POS on a guests' behalf.
## Order Rule
An order rule is a logic-based configuration that can be applied to entities such as segments, zones, and products that will modify the order if its conditions are met. This can include adding items automatically, adding discounts, or adding extra charges.
For example, an order rule on a product can be used to implement a buy one, get one (BOGO) discount, or an order rule on a zone can be used to offer a surcharge for sitting in a "VIP" area.
## Product
A product is a description of a purchasable entity and may also contain configuration in the form of options.
The specific combination of the product and its options, ie the configuration chosen when creating an order, is called an item.
## POS
The POS (Point Of Sale) is GoTab's web-based interface that allows servers to create orders for guests among other actions.
## QR
QRs (AKA QR Codes) are images that encode data and can be scanned by a typical phone camera.
GoTab-compliant QRs will often contain a url to a specific spot, zone, menu, or location, and depending on the resource linked may perform certain actions such as creating a new tab or returning the guest to a previously created tab.
Since the physical nature of QRs makes it cumbersome to keep up-to-date, QRs may also contain a url that simply redirects to a spot, zone, menu, or location. In this way the URL of the QR code never changes, but the resource it links to can be updated dynamically in the GoTab system.
## Segment
A segment is an arbitrary resource that can have an order rule attached to it, usually in order to apply a discount.
A common use case for segments includes membership clubs and coupon codes.
Segments are typically shared by providing a code, url, or invite link to specific participants.
## Server
A server is a user with elevated permissions that allows them to perform actions related to creating orders through the POS.
## Spot
A spot represents a single physical area at a location. For example, a particular seat at a large table.
## Tab
Tabs represent groupings of orders made by one or more guests at a location. Tabs always contain at least one order.
Multiple guests can order on a single tab through GoTab's tab sharing feature.
Orders may be added to a tab until it is closed manually or automatically. In the case where a guest is not opening a tab, ie a single order situation, the tab will be immediately closed after ordering.
Typically once a tab is a closed the payment for the tab will be processed immediately.
## User
Users are people or entities that can be given permission to access and modify resources on GoTab.
Managers and servers are both types of users.
## Tab and order statuses
| Status | Applies to | Meaning |
|--------|------------|---------|
| `PENDING` | Tab, Order | Opened but no items have been sent to the kitchen or bar yet. A `PENDING` tab with no items or payments is typically an abandoned session. |
| `OPEN` | Tab | Has at least one sent order. Still active and accepting additional orders. |
| `CLOSED` | Tab | Fully paid and closed out. No further orders can be added. |
| `PLACED` | Order | Items have been sent and are in the kitchen or bar queue. |
| `FULFILLED` | Order | All items have been marked as fulfilled or dispatched. |
---
## Zone
A zone is a logical grouping of spots. For example, a large table with multiple spots can be grouped under a single zone.
Grouping spots in this way allows you to apply order rules and other configurations to all spots at once.
---