TRAY® Product Release Notes
Version: 7.10
7.10 New Features & Enhancements
Client Enhancements (POS & KDS)
POS
Category Alert – Multi-Category Support
STR-11339
Description
The Category Alert (Beverage Control) feature now supports multiple menu categories when enforcing the “Alert if category not ordered by all guests” rule.
Previously if you had multiple categories selected this would require one item from each of the respective categories to be added to the cart in the same quantity as the guest count. Now, if more than one category is enabled for the alert they can both satisfy the requirement.
- For example, if you have more than one category that can be considered a “Drink” i.e. Sodas, Beer, then this would work
- If every guest orders from at least one of these categories, no alert will be triggered.
- If none of these categories are ordered by all guests, the alert will still trigger as expected.
- The same logic can be applied to other menu categories.
To improve visibility and management of Category Alert (Beverage Control) settings, a new column has been added to the Menu Categories list view in HQ.
- The column displays a clear boolean indicator (Yes/No or Enabled/Disabled).
- This makes it easy for operators to see at a glance whether Category Alert is enabled for each category.
New Section Assignment UI
STR-11696
Description
We introduced a new Section Assignment UI that gives managers greater flexibility when assigning tables to staff. Instead of relying on static section groupings, managers can now assign tables directly to staff members in a more granular and customizable way.
NOTE: This functionality is currently only usable for third party ordering integrations
What’s New
- Direct Table Assignment – Assign destinations (tables) to staff individually, without being bound by rigid groupings.
- Preset Section Groups – Use section groups as starting points and modify them as needed.
- Improved Usability – Designed for POS and tablets of varying screen sizes (8", 10", and 15").
Key Enhancements
- Clear Visuals:
- Unassigned destinations appear unhighlighted.
Assigned destinations display in grey; assignments for the selected staff show in red.
Selected destinations highlighted in blue.
- Unassigned destinations appear unhighlighted.
- Staff Management:
- Only active (clocked-in) staff are shown, sorted alphabetically by first name.
- Selected staff are highlighted in green with quick reset/remove options.
- Scrolling Support: Lists of staff, sections, and destinations are scrollable in both directions depending on screen size.
- Destinations:
- Visible and mapped destinations display automatically, even if not part of a live table map.
- Sorted in clean numerical order (1, 2, 3, 4 …).
- Sections:
- Displayed alphabetically.
- Error Prevention:
- If a manager tries to assign a table already assigned to another staff member, a warning prompt appears.
New Guest Item Transfer
INFRAP-8673
Description
We introduced a redesigned guest item transfer within the New Transfer UI, making it easier and more intuitive for staff to transfer items between guests.
What’s New
- The new dialog includes horizontally listed guest columns showing the items configured for each guest.
- Users can now select one or multiple items from a guest’s column, choose the target guest, and tap Apply in the top right to complete the transfer.
- Clear visual indicators:
- Selected items/guests highlight in blue.
- Only one guest can be selected at a time, with no guest pre-selected.
- Guest management improvements:
- Each guest column shows totals (with tax).
- Each guest has their own print button.
- Guests can only be removed if they have no items, preserving existing behavior.
- Smarter navigation:
- Items selected in the cart remain selected when opening this UI
Payment/Reader Status Indicator
STR-11884
Description
We introduced new on-screen status indicators for credit card processing on FreedomPay readers. Previously, the reader relied mainly on beeps or visual indicators on the screen, if applicable, which could be hard to hear in loud environments. With this enhancement, users now see clear visual dialogs throughout the payment process.
What’s New
- On-screen indicators guide users during each stage:
- Initializing reader with a spinning icon when waking up the reader.
- Insert, swipe or tap card with directional arrows when ready for input.
- Processing with a spinner while the transaction is being verified.
- Approved or Declined messages, including some error codes if declined.
- Additional dialogs handle card errors:
- Remove Card → Card Reader Error, Try Again.
- Bad NFC/Tap reads trigger retry messages.
- After repeated failed insert attempts, users are prompted to swipe.
- Additional cases will be handled in future releases.
POS Battery Level Indicator
INFRAP-8818
Description
We added a battery level indicator to the login screen header. The indicator now displays the current battery percentage using standard Android system icons. It also includes color indicators (green for 100–51%, yellow for 50–21%, and red for 20% or below) so users can quickly see their device’s status. If the battery drops below 5%, the indicator flashes to alert the user.
Support Freedom Pay Negative Auth Adjust
STR-11684
Description
We updated the pre-authorization workflow to support capturing amounts lower than the original authorization total.
- The Auth (yellow) and Pay (green) buttons will now always display on pre-auth checks, regardless of check total.
- Users can apply multiple pre-auths on the same check and capture for the amount authorized or below, even if items were removed after the original pre-authorization.
- This change ensures that receipts generated from pre-authorization include the correct check total and signature line, without requiring staff to first apply all other forms of payment.
Manager Impersonation Logic
STR-11614
Description
We expanded the Manager Impersonation functionality in TRAY POS to ensure that all actions taken by a manager on another user’s check are tracked consistently and reported appropriately to the check owner. This will be replacing the existing POS Permission: ManagerImpersonation.
- Site-Level Setting: Manager Impersonation can now be enabled/disabled under Site Settings → Operations tab.
- Expanded Coverage: All actions (orders, voids, discounts, comps, refunds, tax exemptions, transfers, and payments) now follow the impersonation logic.
- Improved Reporting:
- Actions are attributed to the check owner as Used By.
- The impersonating manager is logged as Granted By.
- Reports (e.g., POS Activity Report, Discounts Report) now show both roles for complete traceability.
- Example log: “Sean D applied a discount to Elizabeth H’s check.”
- Transfers:
- To another check → Items will be attributed to the new check owner.
- To a new check → Items are attributed to the logged-in user creating the new check.
Quantity Quick Add & Auto Split
STR-11561
Description
We introduced a faster and more flexible way to add multiple quantities of the same item while keeping each item manageable for discounts, comps, and voids. This is based on both a server-level configuration and client-level configurations required to enable this functionality.
- Auto Split Items
- When a quantity is entered, the POS can now automatically split that entry into separate line items in the cart (each with quantity = 1).
- This ensures each item can be individually voided, comped, or discounted after being fired.
- Updated Quantity Dialog
- New quick-select keys 1–9 for faster entry.
- Selecting a quick key immediately updates the quantity and closes the dialog (no need to press OK).
Auto-Select Text Field & Display Keyboard
STR-11628
Description
We improved dialogs across the POS so that text fields are now automatically selected and the on-screen keyboard opens immediately when input is required. Such As:
- Ask for Guest Count
- Ask for Check Name
- Add Tip (Staff Entry)
- Loyalty (Punchh Code)
- Add Name (Check already started)
- And more
Show Discount Name On Authorization Prompt
STR-11532
Description
We enhanced the Manager Authorization workflow to improve clarity when discounts are applied.
- When a server without discount permissions (e.g., ManagerDiscount or Discount) attempts to apply a discount:
- The Manager Authorization window now displays the name of the discount being applied.
- This provides managers with full context before approving or denying the action.
Modifier Quantity Support for Product Modifiers
STR-10296
Description
We’ve enhanced the POS to allow quantities for Product Modifiers, aligning behavior with how modifier quantities already work for true modifiers.
- Staff can now specify quantities for Product Modifiers directly on the POS.
- Honors the “Disallow Quantity” configuration at the product level:
- If enabled, the multiple quantity checkbox for a product modifier will be greyed out.
- Attempting to select it will display a dialog: “This product has the configuration ‘Disallow Quantity’.”
ViewShifts' and 'ViewSchedules' Permission Enhancement & Print Employee Schedules from POS
STR-11531
Description
We introduced enhancements to scheduling permissions and added the ability for staff to print their upcoming shifts directly from the POS.
- Print Employee Schedules
- Staff can now print their schedules in a formatted report directly from the POS.
- Supports schedules integrated from 7Shifts, Restaurant365, Rosnet, and future scheduling providers.
- Printing is supported via local and remote printers.
- Granular Permission Controls
- ViewShifts permission: Staff can view and print only their own schedule.They cannot see other employees’ schedules.
- ViewSchedules permission: Staff with this permission can view and print the full schedule for any employee.
Site Level Check Number (Reset Check ID)
INFRAP-8504
Description
We introduced a new configuration option that allows venues to use their own check number sequence that resets daily. This gives operators more flexibility and control over how checks are numbered and displayed. For this option to print on your receipts, you must enable the “Print Receipt Code” configuration in the KDS Settings.
- Site-Level Control - Enable or disable site-level check numbering under HQ → Operations → Check Number:
- Configurable Range
- Define a minimum and maximum value for check numbers (e.g., 1–175 or 20–250).
- Check numbers automatically reset when the configured maximum is reached.
- Daily Reset - By default, check numbers reset at Trading Day Time (TDT), regardless of range configuration.
- Receipt Customization - Configure the label that appears on guest and kitchen receipts (e.g., CHECK #, ORDER #, CHECK NUMBER).
- Applies Across All Orders - Site-level check numbers are applied to POS and online orders.
- Online Mode Only - This feature is supported in online mode only.
Touch Dynamics Nexus CFD Tip & Signature Flow
STR-11475
Description
We added support for guests to enter tips and signatures directly on the Customer-Facing Display (CFD) when using Touch Dynamics Nexus hardware.
- Tip & Signature Entry
- Guests can now enter a tip amount and provide a signature directly on the CFD screen.
- Interaction Controls
- During the ordering process, the CFD displays the cart contents but does not allow guests to interact with products, services, or other POS functions.
- Interaction is only enabled when the CFD is on the tip or signature screens.
- Device Support
- POS: Nexus 15.6” Mediatek MTK G700
- CFD: Nexus C-NEXUS-TM11
Remove the Options under the ‘About’ Button – POS and Kiosk
STR-11328
Description
We have removed the Learn More, Privacy Policy, and Terms of Service options from the About menu on both POS and Kiosk devices.
This change was requested to prevent employees and customers from accessing external sites (such as web browsers or YouTube) through these links, ensuring a more secure and controlled in-store experience.
Product Search for POS
INFRAP-7590
Description
The Product Search function is now available in the menu for any devices running Android 12 or higher.
- The search bar allows staff to quickly find products without manually browsing through menus.
- If an “Out of Stock” notification is present, the search bar will display just below it for easy access.
- Only products that are available as part of an active menu schedule will be displayed
Gift Card Redesign
ENT-6597
Description
We’ve updated the POS to support the new Gift Card Redesign while simultaneously maintaining backward compatibility:
- Dual support: POS now supports both the existing gift card flow (for tabs already containing gift cards in tabFlags) and the new redesign flow for all other cases.
- Data layer integration: POS is now linked to the updated gift card data layer to ensure smooth handling of both old and new flows.
- Presentation layer updates: Enhancements made to POS Activity and Manager Functions to align with the redesigned gift card handling.
- Feature coverage: Balance Inquiry, Gift Card Issue, and Wipe are fully supported in this release; Reload and Void will follow in a future release.
KDS
Improved Field Alignment on Reports
STR-10216
Description
We’ve updated the alignment of fields in the POS Server Checkout Report (SCR) and POS Sales Summary for better readability and consistency. Going forward:
- Numerical fields are now right-aligned, making it easier to compare values across rows.
Server Checkout - Tips Paid Functionality
STR-11100
Description
We’ve introduced a new POS functionality to record cash payouts made to servers at the end of their shift to cover owed tips, primarily for sites using Tips Daily Settlement. This functionality acts as the inverse of the existing ‘Cash Drop’ No Sale Action, allowing operators to track when servers are paid their tips as a part of the checkout process. By selecting the respective option from the Cash Drop dialog, you can either:
- Record that a staff member paid their cash owed to the restaurant
- Record that the restaurant paid the tips due to a staff member
This functionality is intended to increase the recording and auditability of end of shift reconciliation with staff.
(Printed Server Checkout Report)
- New NO SALE type: Introduced a new value type called “Ask” to support this functionality:
KDS List Mode Bumping Logic
INFRAP-8461
Description
We refined how items and product modifiers can be bumped in KDS List Mode to ensure consistent handling across order states.
- KDS now respects visible states for bumping:
- Items and their product modifiers can be bumped only when in NEW or ACCEPTED states.
- Once items move beyond these states (e.g., READY → DONE), they can no longer be bumped.
- Example Workflow:
- NEW → ACCEPTED → READY → ✅ Allowed
- READY → DONE → ❌ Not Allowed
This means that if a parent item has a product modifier that is in a higher order status than the parent item, and thus should not be visible on that KDS, then bumping that row would ignore the product modifier.
Support for Printing Bank Deposit Chits
STR-11626
Description
Going forward, we will automatically print a bank deposit chit whenever deposits are recorded from the POS.
- Generated with deposit details immediately after a bank deposit is completed.
- Printing is supported through both Local Print and Remote Print.
- The chit provides staff with a clear paper record of deposits for reconciliation.
New Print Modifiers Configuration - Only Print Priced Modifiers
INFRAP-8634
Description
We added a new configuration under KDS Settings → Print Modifiers to give operators more control over how modifiers appear on printed receipts.
- The Print Modifiers setting now has three options:
- On – All modifiers print.
- Off – No modifiers print.
- Only Priced Modifiers – Only modifiers with a price greater than $0.00 print.
- Applies to true modifiers only (not product modifiers).
- Development focused on Guest Receipts.
Change OLO Details Time Format from 24hr to 12hr
STR-11691
Description
We updated OLO order printing so that timestamps now match the rest of the system’s 12-hour format with AM/PM. Previously, OLO orders displayed times in 24-hour format, creating inconsistency with other receipts and UI elements.
- OLO-provided timestamps (e.g., order time, pickup time) are now converted to 12-hour format with AM/PM before printing.
Server Enhancements (HQ, API, DataAPI)
HQ
Configuration of Failover Device for Master Expo
INFRAP-8403
Description
Operators can now configure a failover device for the Master Expo directly within Routing Rules, ensuring order routing continues seamlessly if the primary device becomes unavailable.
- Failover device selection: Add a designated failover device when setting up routing rules.
- Validation & warnings: System alerts users if the failover device is of a different type (e.g., KDS vs. Expo) or not part of the current routing rule, with confirmation required before saving:
- Auto Print option: A new checkbox allows automatic printing on the failover device if routing falls back to it (only visible if the failover device has an order printer configured).
Please note - the support for Master Expo Failover is only available in online mode.
Non-Admin Node Level Access
ENT-
Description
HQ user account management now supports assigning sub-nodes in addition to sites, providing greater flexibility and control over access permissions.
Key updates include:
- Assign sites and nodes: When creating or editing a user account, admins can assign both sites and nodes.
- Label update: The “Site” field has been updated to “Site/Group” for clarity.
- Access control improvements:
- Users with node access can view and manage node settings.
- Users with access only to sites under a sub-node (but not the sub-node itself) will only see site-level settings.
- Additional Tab at the Node-Level: The “Above Store (HQ)” tab has been added to the People section at the node level and will list all HQ accounts assigned to that node.
Staff Sales Report
ENT-6389
Description
We’ve introduced a new Staff Sales Report in TRAY HQ to give operators better visibility to staff sales across days and revenue centers. Unlike the existing ‘By Staff Report’, which is based on total tenders collected, this new report provides a breakdown of net sales by staff member.
Key highlights:
- Comprehensive financial data per employee including Net Sales, Service Charges, Donations, Taxes, Deductions, and Tips.
- Service type filter to view results by dining service (e.g., dine-in, takeout, delivery).
- Check Count and percentage metrics to understand staff activity at both detail and summary levels.
- Consistent definitions for deductions (Comps/Discounts), tips (credit, gift card, and other tenders), and service charges (including gratuities and donations).
- Total calculations that align with Daily Sales Report logic for accurate reconciliation.
Routing Category Filter in New Menu UI
ENT-6389
Description
The Menu UI now includes a Routing Category filter when the Item-Level Routing flag is active. This enhancement allows users to easily filter and manage items based on their routing category, which can help you to audit which items are routed to which stations.
Show 'Display Order' next to Category Name on Product/Modifier Listing Page
ENT-6383
Description
In the Menu UI, the Display Order (if configured) now appears next to each category name on both the Product and Modifier listing pages. This allows users to understand the appropriate display order of categories without needing to navigate to a different screen, making category management more efficient.
Added Gratuity Rework
INFRAP-8896
Description
We've redesigned the Added Gratuity feature to allow gratuities to be configured as ‘gratuity products’, with new configurations to support taxation and auto-application:
Key updates include:
- Configurable taxation: Added Gratuity can now be flagged as taxable, tax inclusive, or non-taxable at the product configuration level (default = taxable).
- Percent or Amount: Gratuity products can either be percentages or amounts now
- New “GRATUITY” Item Type: Introduced as a dedicated product type within Order Data and menu management.
- Enterprise management: Gratuity products are now enterprise-manageable through product/menu pushes, eliminating the need for separate management workflows.
- Offline support: Added Gratuity behavior is fully supported even when the POS is offline.
- Accurate Tax Breakdown: Gratuity tax is included in the tax rate it applies to and only displays if that tax rate is configured to show on receipts.
- Improved Editing Workflow: When editing or removing gratuity, the previous gratuity value is pre-selected, allowing users to easily adjust or confirm the current gratuity.
Similarly, We’ve enhanced the Added Gratuity feature to support automatic application on checks for specific services.
- Service-based configuration: Added Gratuity can now be configured to automatically apply to all checks within a service.
- Calculation logic: The gratuity is applied based on the gross check amount (pre-tax, pre-comp, pre-discount), excluding Gift Cards, Service Charges, and Donation-flagged items.
- Reporting behavior:
- Added Gratuity does not contribute to Net Sales.
- Added Gratuity is excluded from Suggested Gratuity calculations.
- Restrictions: Added Gratuity cannot be comped or discounted but can be removed from a check.
7Shifts Sales Integration - Enable from TRAY HQ
INFRAP-8301
Description
HQ users can now control whether sales data is sent from TRAY to 7Shifts directly from the Integrations tab.
Key highlights:
- Enable Sales Data flag: A new checkbox allows operators to enable or disable real-time sales data integration with 7Shifts at the store level.
- Default setting: The flag is disabled by default.
Third Party Net Sales in Tax Summary Report
INFRAP-8300
Description
We’ve updated the Tax Summary Report in HQ to provide clearer visibility into Third Party Net Sales.
Key changes:
- A new Third Party Net Sales column has been added to the report.
- This data is no longer grouped under Non-Taxable Sales, ensuring accurate separation of reporting categories.
- The column will always display, as the Tax Collected by Third Party setting is now permanently enabled.
This enhancement improves reporting accuracy and makes it easier for operators to distinguish between in-house and third-party sales when reviewing tax summaries.
‘SelectRouting’ Now Managed at Site Level
STR-11236
Description
The SelectRouting setting has been moved from POS permissions to a site-level configuration in HQ:
Key benefits:
- Simplified management: Operators no longer need to manage SelectRouting through individual POS roles.
- Operational consistency: Ensures routing behavior is applied uniformly across all staff at a location.
Cash Owed Report Optimization
STR-11146
Description
We have optimized the Cash Owed Report to run more efficiently for report operators.
Staff Display Name on Receipts
STR-10874
Description
We added a Display Name field to staff profiles so employees can use a preferred name on guest-facing receipts, KDS screens, and POS printed receipts, while their legal first/last name remains in HQ for administrative and reporting usage.
What’s included:
- New profile field: Display Name (optional).
- Guest-facing & operational surfaces: When set, Display Name replaces legal name on receipts, order chits, KDS, clock in/out slips, time entry prints, and server checkout reports.
- API support: Display Name is exposed via Data API (e.g., Employees API) for integrations to feed into TRAY.
- HQ behavior: HQ lists/reports continue to show legal first/last name for compliance and payroll; Display Name is not shown in HQ admin views.
Enterprise Managed Flag for Tax Categories
ENT-5892
Description
A new “Enterprise Managed” flag has been added to Tax Categories at the Node Level in TRAY HQ, allowing enterprises to control whether key tax settings are centrally managed and locked or editable at the store level.
- Enterprise Managed Enabled - The following fields will be pushed and locked at the store level:
- Store users will not be able to modify these values locally.
- Enterprise Managed Disabled
- The tax category will not overwrite local store settings.
- The above fields remain editable at the store level.
- Tooltip in HQ
- At the node level, hovering over the info icon displays:
“A non-Enterprise Managed Tax category will not re-push and overwrite any of the below fields and they can be modified at store.”
- At the node level, hovering over the info icon displays:
Alphabetically Sorted Drop-Down Lists
ENT-5738
Description
To improve usability and reduce time spent searching, several drop-down lists in TRAY HQ have been updated to sort alphabetically:
- Menu UI:
- Category drop-down
- Product Group drop-down
- Pricing Export Dialog:
- Product drop-down
- Modifier drop-down
- Menus drop-down
Unique PLU Enforcement Across Products & Modifiers
ENT-5738
Description
To improve data consistency and eliminate pricing conflicts, PLUs must now be unique across both products and modifiers at the site and node level.
- Enforced Uniqueness
- No two products or modifiers at the same site or node can share the same PLU.
- A PLU cannot be reused by both a product and a modifier at the same site or node.
- PLU’s will be automatically generated to ensure some PLU exists at the node.
Default Subsection for New Products
ENT-5498
Description
When adding a new product in HQ, the system will now respect the currently selected subsection:
- If a subsection is selected, the new product will default to that subsection.
- If no subsection is selected, the product will default to Unassigned, as before.
- Optionally, users may be prompted to confirm subsection selection during product creation for added clarity.
API & DataAPI
Authentication Update: POS Staff APIs (getStaff, getStaffDetails)
STR-10053
Description
We introduced versioned endpoints to support authenticated access for KDS/POS devices without changing payloads:
- New versioned APIs
- tray/v1/getStaff
- tray/v1/getStaffDetails
What changed:
- Headers only: Clients now include either:
- Staff context: oAuthCode (staff) + bartsyId, or
- Device context: KDS oAuthCode + deviceId (used when staff credentials aren’t available).
- No request/response body changes.
- For getStaffDetails:
- Do not send sendAll key.
- If no staffId is provided, the call is treated as sendAll = true.
Taxilla Certification Phase II
INFRAP-8374
Description
We have added support for Taxilla Phase 2 at the venue level within the Integrations tab. Operators can now configure whether a store uses Phase 1 or Phase 2:
- The existing flag has been renamed Enable Taxilla Phase 1.
- A new flag, Enable Taxilla Phase 2, has been added.
- Only one option can be enabled at a time (Phase 2 cannot be checked unless Phase 1 is unchecked).
- POS will dynamically call the correct Taxilla endpoint depending on the selection.
- The Taxilla invoice number will now print on receipts, allowing customers to use it as a reference number for tax auditing.
- A migration script has been applied so that all stores default to Phase 1 until configured otherwise.
This update ensures compliance with evolving fiscal requirements and simplifies the transition to Taxilla Phase 2.
Support isTaxExempt flag for Olo
INFRAP-8505
Description
We added support for the isTaxExempt flag in Olo orders, ensuring that tax-exempt orders are properly recognized and recorded in TRAY.
- When Olo sends taxExempt: true:
- TRAY now marks the check as tax exempt.
- Tax is recorded as $0 across all tables (orders, payments, and item_taxes).
- When Olo sends taxExempt: false and taxCollectedByThirdParty: true:
- TRAY records $0 tax in orders and payments.
- Actual calculated tax is still stored in item_taxes.
- In all other cases:
- Tax is recorded normally across orders, payments, and item_taxes.
- Tax-exempt orders from Olo now also display properly in the POS.
Implement Split Logic in placeOrder API Based on splitItemQuantity Flag
INFRAP-8532
Description
We enhanced the placeOrder API to support item splitting based on a new splitItemQuantity flag.
- When splitItemQuantity = true in the device JSON:
- Any item with a quantity greater than 1 is automatically split into multiple line items, each with quantity 1.
- This allows each item to be voided, comped, or discounted individually after being fired.
- When splitItemQuantity = false:
- The system behaves as it does today, keeping multi-quantity items grouped together.
saveCompanyProductEnhancedV1
INFRAP-8762
Description
We enhanced our Crunchtime integration by adding support for the saveCompanyProductsEnhanced API. When menus are published, TRAY now automatically identifies any newly created or edited products and uses this API to update product details in Crunchtime.
This ensures product data remains accurate and synchronized between TRAY and Crunchtime.
7Shifts Integration - getShifts API
INFRAP-8583
Description
We changed our 7shifts sync to use cursor-based pagination, so we now retrieve all shift records—not just the first page. This includes both active/valid and deleted shifts, ensuring complete and accurate scheduling data in TRAY.
Manual Trigger for End-of-Day (EOD) Job
INFRAP-8583
Description
TRAY SuperAdmins will now have the ability to manually trigger the EOD job to process checks that extend beyond the standard one-business-day window.
Send Added Gratuity as Service Item – Punchh Integration
STR-11149
Description
We’ve updated our Punchh loyalty integration to properly handle Added Gratuity when sent as an item.
Key changes:
- Added Gratuity is now passed as a Service item (menu_item_type = Service) in all API calls that include check details.
- Both item details and amounts are now correctly sent to Punchh.
This ensures loyalty integrations with Punchh receive complete and accurate check data, including gratuities, for improved reporting and rewards calculations.
Punchh API – Employee ID Support
STR-11096
Description
TRAY now passes Employee ID in Punchh API calls to provide greater visibility into server-level activity for loyalty transactions.
- Employee data included: TRAY sends both employee_id (database ID, not staff ID) and employee_name where supported.
- API calls updated:
- Create Redemption – employee who applied the discount/redemption
- Possible Redemptions – employee who applied the discount/redemption
- Store Receipt Details From POS – employee assigned to the check
- Void Redemption – employee who voided the discount/redemption (not currently supported by Punchh)
This enhancement enables Punchh to monitor individual server and member activities more accurately, improving reporting and accountability for loyalty transactions.
Enhanced KDS Activities API
INFRAP-8147
Description
We’ve enhanced the KDS Activities API to provide full visibility into order lifecycle timestamps, enabling integrators and reporting providers to accurately measure Speed of Service (SOS) metrics.
Key updates:
- Expanded timestamps: API now includes detailed timestamps for all key order states — New, Accepted, Ready, and Done — with millisecond precision.
- Independent item routing: Support added for device-level routing, allowing analysis of performance at specific KDS stations.
- Additional data points:
- orderId, checkId, productPLU, and itemId for cross-referencing with other endpoints
- deviceId for station-level tracking
- undumped indicator (where feasible) to flag items whose timing may be impacted by re-bumping/unbumping
- Use case: Enables accurate calculation of the duration from New → Done at the item and station level, supporting benchmarking across stores and setups.
This enhancement ensures operators, integrators, and reporting providers have the data they need for accurate Speed of Service Reporting (TRAY HQ) and kitchen performance analysis.
EOD Job – Auto-Move Old Orders to Done
INFRAP-1980
Description
To prevent order backlogs and potential performance issues when routing/advancing is misconfigured, the End-of-Day (EOD) job can now optionally transition aged orders (older than 24hr) to Done based on an HQ setting.
- When enabled, EOD automatically finalizes stale orders to keep queues clean and devices responsive.
- Avoids large piles of “in-progress” orders.
Where to configure (HQ → Enable Auto Check Balance):
- Move orders to Done State – toggle (default: Off).
- Duration (hours) – appears when enabled; enter the number of hours. Orders placed before this threshold are moved to Done during the EOD run.
Bug Fixes
Server & API
Invisible Modifier Group Changes Not Pushed
ENT-5582
Description
We resolved an issue where changes to invisible modifier groups (e.g., name updates) made at the node level were not being reflected at the store level during a menu or product push/import.
- Configuration changes to modifier groups (including name edits and assignments of modifiers or product modifiers) are now propagated correctly, even if the modifier group is set to invisible.
Arabic Text Display in Exported Reports
ENT-6140
Description
We resolved an issue where Arabic text in the Daily Sales Report (DSR) and FM reports appeared corrupted or garbled when exported to PDF.
With this fix, all Arabic characters are now displayed correctly in exported reports, ensuring accurate and readable documentation.
Incorrect Payment Time Recorded - Offline Mode
INFRAP-8182
Description
We resolved an issue where payments taken in offline mode displayed the sync time (when the transaction was uploaded) instead of the actual payment created time on the POS.
With this fix, offline payments now correctly reflect the original payment time from the POS, ensuring accurate reporting and audit trails.
Payments Recorded Under Incorrect Server
STR-11341
Description
We resolved an issue where payments were occasionally attributed to the wrong server in Server Checkout reports (both POS and HQ). In some cases, checks appeared under another employee’s name despite no transfers, retenders, or unusual time entry activity.
With this fix, payments are now consistently recorded under the correct server, ensuring accurate checkout reports and eliminating discrepancies in employee totals.
7Shifts Schedule Enforcement Prompting Permission
INFRAP-8340
Description
We resolved an issue where employees were incorrectly prompted for manager authorization codes when clocking in or out, even though they were scheduled within the configured 7Shifts Schedule Enforcement grace period.
In some cases, staff were inconsistently asked for codes across different days, or required codes for both clock-in and clock-out despite being properly scheduled.
With this fix, Schedule Enforcement now correctly respects the configured grace period, ensuring staff are only prompted for authorization when they are truly outside their scheduled times.
Orders Placed via API omit the "+" Character
INFRAP-8546
Description
We corrected an issue where orders placed via the API were omitting the “+” character in product names. This caused inconsistencies between API-sourced orders (e.g., Olo) and POS-sourced orders, as special characters configured in the menu were not preserved.
With this fix, API orders now correctly include the “+” and other special characters, ensuring product names are displayed consistently across reports and channels.
Incorrect Hours Worked Week on Clock Out Chit
STR-12025
Description
We fixed an issue where the hours worked displayed on the staff clock-out slip did not match the hours reflected in HQ.
Add server side restriction to reject duplicate clientId for tray/checks and v1/checks API
STR-11883
Description
We fixed an issue where duplicate client IDs could be accepted in offline mode and certain other actions. The system now includes a server-side restriction to reject duplicate client IDs, ensuring greater accuracy and preventing errors during order processing.
Orphan Modifiers Now Displayed in Menu Mix Report
INFRAP-8744
Description
We updated reporting logic so that modifiers not assigned to a modifier group (e.g., “No Onions”) are now properly captured on the HQ Menu Mix Report. Previously, these “orphan” modifiers displayed correctly on POS and KDS but were missing from Menu Mix. This change ensures all modifiers display consistently across reports, regardless of whether they belong to a modifier group.
Client
Empty Check Flag
STR-11105
Description
Going forward, we will be setting the ‘is_check_empty’ flag = true for offline orders if there are no orders on the check so that these checks will be automatically closed by the EOD jobs.
eInvoice QR Code Missing on Closed Check Receipts
STR-10890
Description
We resolved an issue where the eInvoice QR code was not printing on receipts generated from the Closed Checks screen.
- QR codes now print correctly when receipts are reprinted from Closed Checks.
- Note: QR code printing for individual guest receipts was confirmed as never implemented and is not included in this fix.
Checks with Payments but No Orders After Offline > Online Sync
STR-11089, STR-11148
Description
We resolved an issue where some checks appeared with payments recorded but no associated orders after stores came back online from offline mode.
- Impacted checks occurred when orders failed online just before stores were taken offline, preventing items from syncing correctly.
- Additional cases were observed where checks created entirely in offline mode did not properly sync their items once connectivity was restored.
With this fix, all checks now reliably sync both payments and orders after offline-to-online transitions, ensuring data integrity and accurate reporting.
Prevented Item Reordering in Cart and Item Disappearance in KDS During Modifications
STR-11705
Description
We fixed an issue where items behaved inconsistently when discounts, comps, or tax exemptions were applied to orders:
- On the POS Cart: Items would unexpectedly shuffle or reorder after a modification, making it harder for staff to track changes.
- On the KDS (especially in Offline Mode): Items could disappear one by one, timers would reset, or items would reposition themselves, disrupting kitchen workflows.
With this fix:
- Items in the POS cart now retain their original positions after any modification. Visual changes (like discounts applied) appear correctly, but the order of items remains stable.
- Items on the KDS no longer disappear or reset when modifications are applied. Timers remain accurate, and items hold their position on the screen, ensuring consistency in kitchen operations.
Duplicate or Missing Payments After Offline > Online POS Sync
STR-11705
Description
We addressed an issue where some checks showed duplicate, missing, or partial payments after stores came back online. With this fix, the POS sync process now prevents duplicate or partial payments, ensuring accuracy and consistency in both TRAY and third-party reporting.
Comments
0 comments
Article is closed for comments.