TRAY® Product Release Notes
Version 7.14 Combined
7.14 New Features & Enhancements
Client Enhancements (POS & KDS)
POS
Direct Capture FreedomPay Offline Fallback
STR-12229
Description
We have enhanced the direct-capture FreedomPay payment flow so that if a payment is successfully authorized/charged at the gateway but the subsequent chargeTab call in TRAY fails (e.g., due to network or service issues), the successful charge details are now stored in the offline queue and later synced via the existing TRAY/checks offline sync API. This prevents scenarios where a guest’s card is charged but no matching transaction is recorded in TRAY, improving the resilience of card processing, keeping payment records in sync with the payment gateway, and reducing the risk of orphaned payments.
Device Connectivity Banners & Dashboard
INFRAP-9397
Description
Connectivity Banners
We have introduced new Device Connectivity Banners so users clearly understand what’s happening when network or server conditions change. It rebrands and restructures connectivity behavior into ‘Cloud Mode’ and ‘Local Mode’, introduces clearer indicators/banners for common failure states, and tightens rules around when devices can continue operating versus when they must be restricted until connectivity is restored.
When the user selects the corresponding ‘What to do’ button, they will be shown additional details explaining the banner notification status. They will also be able to navigate to the ‘Device Information’ screen for further troubleshooting purposes, or navigate to the ‘Device Dashboard’ when necessary:
Device Connectivity Dashboard
The existing Offline Mode Dashboard has been redesigned as the Connectivity Dashboard that surfaces current mode, device-to-device connectivity health across the store, any unsynced data (Data Sync), and the Connectivity Legend (Legend). The dashboard also supports manual mode switching and configuration of automatic switching between Cloud and Local modes.
The dashboard presents a device list with key identifiers (device name, IP/host) and shows connectivity health per device and application (e.g., POS/KDS) across Internet, TRAY Cloud, and Local Network, along with the device’s current Mode (Cloud/Local/Unknown). An Automatic Configurations button is included to enable/disable automatic switching behaviors (e.g., Automatic Local Mode and Automatic Cloud Mode) if you have the permission. A Device Info page is added as part of this refactor to provide technical device details for troubleshooting.
POS Cart Item Status Icon Changes – Part 2
STR-11563
Description
This work delivers Phase 2 of the POS order-status UI updates by standardizing the visual treatment (color + icon styling) for HELD, PAID, and PENDING cart/order statuses. Each status is displayed with white text and an updated background color: HELD, PENDING, and PAID.
High Availability Offline Solution - Olo Support
INFRAP-9053
Description
We have introduced High Availability Offline Support for Olo, a failover solution designed to keep digital business running even during primary server interruptions.
- Zero Missed Orders: If the primary TRAY environment becomes unreachable, Olo High Availability automatically reroutes incoming orders to a resilient standby environment.
- Automatic Resync: Once server connectivity is restored, the system automatically synchronizes "offline" transaction data back to the primary server for accurate financial reporting.
- Always-On Digital Presence: This update eliminates "Store Closed" errors on Olo during outages
Improve Toast Error Messages for Quick Code Login (Online & Offline Modes)
STR-12152
Description
We have updated the POS quick code login failure messaging by replacing generic toast messages with actionable error messages so users immediately understand why sign-in failed. The updated toast behavior applies consistently in both online and offline modes and standardizes messaging across key failure scenarios: Invalid Quick Code displays “Login failed – Invalid quick code. Please try again.”; User Not Authorized / Disabled displays “Login failed – Your account is not authorized. Please contact your manager.”; and other unexpected/system failures display “Login failed – Unexpected error. Please retry or contact support.” This ensures login errors are clearly attributed to the underlying cause.
Enhance PAL Package Installer Battery Detection
STR-12325
Description
We have enhanced the PAL Package installer battery detection to prevent installations from being incorrectly blocked on Android devices that either do not have a true battery (fixed terminals) or do not report battery/charging status reliably (e.g., certain AOSP-based devices like iMin/Sunmi/HP).
Adjust Tip & Custom Tip Flow UI Consistency Enhancements
STR-12377
Description
This work updates the Adjust Tip experience on a captured credit card transaction to match the existing Custom Tip Flow UI, ensuring customers see a consistent interface. We have removed the increment-button experience and standardized tipping behavior across both flows.
Show Processing Dialog on Capture & Tip Adjust – FreedomPay
STR-12413
Description
We have added a processing modal during the FreedomPay payment capture and tip adjust flows to prevent users from tapping outside the screen or navigating away while a transaction is in progress, which could cause interrupted or inconsistent capture states. When a capture/tip-adjust is initiated, the POS displays a modal dialog that disables all user interaction until the flow completes or fails.
The dialog communicates the transaction progression (e.g., Processing → Syncing with TRAY server → Approved/Declined) and remains on-screen until a definitive outcome is returned, ensuring the capture state cannot be disrupted by accidental navigation or additional input.
Disable “Gift Card” Button in Offline Mode
STR-12575
Description
Going forward, we will prevent gift card payment attempts while the POS is operating in local mode, as gift card providers require an active connection to their service and offline usage would result in failed transactions. When the device enters local mode, the ‘Gift Card’ payment button will be disabled throughout the POS (including when viewing checks from the checks screen and when reopening existing offline checks), and will remain unavailable until the device returns to the cloud state.
Do Not Show Staff with "ClockOnly" permission in Transfer Staff → Active Staff
STR-12918
Description
This change prevents checks from being transferred to staff members who are clocked in under a role with “Clock Only” access. Today, ‘Clock Only’ users appear in Transfer Staff → Active Staff, allowing other staff to transfer checks to them even though they cannot access POS to view or manage those checks directly. With this update, any staff currently clocked in with a ‘Clock Only’ role will be excluded from the Active Staff transfer list, ensuring checks can only be transferred to staff who are authorized to access the POS and interact with their assigned checks.
POS Server Checkout Report Unsynced Checks Caution Dialog
STR-13148
Description
When printing the POS Server Checkout Report, the system will now check for unsynced checks and will display a ‘Caution’ dialog if any are found. The dialog warns that the report may be inaccurate due to the unsynced checks and allows the user to either proceed with ‘Print’ or select ‘Cancel' to return and sync checks before printing the report.
Kiosk
Support Modifier Quantity for Product Modifiers
STR-12815
Description
We have enhanced the Kiosk ordering experience by adding support for modifier quantities so guests can now select a modifier and increase or decrease its quantity (e.g., extra add-ons, double portions) when customizing a product. The kiosk UI and underlying modifier handling are updated to support quantity adjustment for applicable modifiers, using the same validation rules as the POS (e.g., respecting modifier constraints and limits).
Server Enhancements (HQ, API, DataAPI)
HQ
Above Store (HQ) Management for Nodes and Sub-Nodes
ENT-6826
Description
Introduced an Above Store sub-tab at the node and sub-node level in TRAY HQ, allowing enterprise managers to view and manage Above Store users higher up in the hierarchy—not just at individual stores. Under People → Above Store, node/sub-node pages now display a simplified grid showing each user’s Name, Phone Number, Email, and Role, with a Remove action to detach users from that node or sub-node.
Assigned Sites and Nodes on User Account Page
ENT-7042
Description
The user Account Settings page now displays a clear list of the user’s assigned groups/nodes and sites, making it easier to understand and manage access. When a site or group is selected from the Site/Group dropdown, it immediately appears in the Assigned Groups or Assigned Sites list with a checked checkbox, while changes are only saved once the user clicks Update. Users can also deselect items directly from the assigned list, which removes them and de-selects them in the dropdown, again requiring Update to persist. When no sites or groups are assigned, the list shows only a search box, and assigned entries are sorted alphabetically for easier scanning and maintenance.
Roles (POS) – Status & Enterprise Management
ENT-5832
Description
This work introduces role “Status” management for POS roles so administrators can mark roles as Active or Inactive and reliably control whether roles can be used in stores. This adds a Status field for roles at both the store and node level, plus an Enterprise Managed flag that determines whether a role’s status at the store should be overwritten during enterprise role pushes (when Enterprise Managed is enabled) or preserved locally (when it is not). Store-level role status changes are saved, reflected in TRAY HQ, applied to the store upon staff publish, and logged in HQ Activity. Node-level updates can push Active/Inactive status to all stores under that node and are also logged. If a user tries to clock in and their only assigned role is inactive, POS prompts for manager reassignment. The site UI shows a warning to confirm deactivation, and roles can be filtered by status. Newly created sites inherit roles and their statuses from the immediate parent node at creation time.
Ability to Lock Price of a Product or Modifiers
ENT-6155
Description
This work adds enterprise-controlled price locking for Products and Modifiers to enforce consistent pricing across all locations. An Enterprise Managed flag is introduced at the enterprise level for the pricing field (not available for Modifier Group Pricing Overrides). When enabled, the item’s price becomes read-only at the store/site level (UI shows a lock indicator; imports cannot override). Enterprise users can still update pricing at the enterprise level while the flag is on. Any attempted store-level price update via import is blocked and logged in the validation output with: “Price failed to update because the price is locked.”
When the price lock is enabled, HQ also disables/greys out any existing or future Price Effective Dates and Pricing Schedule prices tied to the Product or Modifier, and prevents users from adding new scheduled pricing while locked (scheduling options hidden). If the lock is later disabled, any previously-disabled effective dates or pricing schedules that are still applicable should become active again. The feature supports import/export compatibility for Products and Modifiers and is designed to roll out with the flag disabled by default to avoid disrupting current client setups.
Reason Codes – Status & Enterprise Management
ENT-6302
Description
We have introduced reason code status management at both the site and node levels, allowing reason codes to be set to ‘Active’ or ‘Inactive’ so users with appropriate permissions can centrally control which reason codes are available, active or inactive.
We have added a ‘Status’ field for reason codes and introduced an ‘Enterprise Managed’ flag that dictates whether a reason code status is locked and overwritten during node pushes (when enabled) or remains editable and not overwritten (when disabled). This phase also supports enterprise deletion of reason codes so that, when deleted from the node, the reason code is removed from all associated sites.
HQ Activity for Routing Rules & Routing Categories
ENT-6315
Description
We have added HQ Activity auditing for all key actions on Routing Rules and Routing Categories so enterprise users have a clear, searchable record of routing configuration changes and access, consistent with existing product-level activity logging.
Two new HQ Activity categories are introduced: Routing_Rule and Routing_Category. For each category, HQ Activity now logs Create, Modify, and Delete actions, each including standard audit details (who performed the action, timestamp, and the affected rule/category name).
Speed of Service Report – Exports and Status Filters
STR-12287
Description
We have made enhancements to the Speed of Service report by adding export support and introducing order-status filtering on the Summary version of the report to improve operational analysis and reporting workflows. Users can now export Speed of Service results in standard formats (e.g., CSV/XLSX/PDF) using the same selections applied in the report UI, ensuring exported data matches what is displayed. Additionally, the Summary report adds a multi-select Order Status filter allowing users to include or exclude orders by status: New, Accepted, Ready, Done, Held. When one or more statuses are selected, the Summary calculations and results reflect only orders in those statuses, enabling more precise performance measurement (e.g., focusing on active workflow states vs. completed orders) while keeping the existing report behavior unchanged when no status filter is applied.
Remove Sales Summary Note: “Tips column will include added gratuity”
STR-12477
Description
We have removed the Sales Summary report note “Tips column will include added gratuity” because gratuity is now tracked and reported separately under the new gratuity implementation. Eliminating this outdated note prevents operator confusion and ensures the Sales Summary messaging accurately reflects current reporting behavior.
TRAY HQ Product Mix Report
STR-11855
Description
We have enhanced and renamed the existing Product Group Report to the Product Mix Report in an effort to support staff-level filtering and reporting for store-level contests (e.g., beverage sales contests) and performance analysis, while minimizing disruption to the current report behavior by primarily expanding the available filters and groupings.
The report is renamed to “Product Mix” and the default grouping is changed to Group By Staff (instead of Product Group). The report adds filters for Period (Start/End), Site (single store), Type (Detail/Weekly/Summary), Product Group, Product, Service, Staff, and Role, with dropdowns sorted alphabetically and menu item selection displayed as Name – PLU. When grouped by Product Group, the Staff and Role filters are removed; when grouped by Staff, the Product Group filter remains available.
Results can be sorted by Product PLU, Product Group EID, Product Name, and staff grouping is sorted by first name for consistency with other reports, with secondary sorting available by Menu Item PLU (default) or Menu Item Name after Staff sorting. The report output includes clear totals at the appropriate levels and introduces an info tooltip for Product Total: “Product Total: Total sales amount (item price × quantity), adjusted for discounts, voids, and comps, but excluding tax.” Exported reports include a header section that prints the user’s selected filters (e.g., store number, selected services, etc.).
The report supports three run modes with defined behaviors and maximum durations:
- Detail Report: Breaks out each business day separately when multiple days are selected, sorted Business Date → Staff Name, includes totals per Staff, per Trading Day, and overall, and supports running at least 7 days. Includes % of Day Count and % of Day Total calculations.
- Summary Report: Consolidates across all selected business days, sorted Staff Name, includes totals per Staff and overall, and supports running at least 35 days.
Weekly Report: Consolidates into weekly summaries based on Week Starts On configuration, locks the start date to the business week start, replaces end date with a Duration (1–5 weeks) filter, and supports running at least 5 weeks.
Consistent Ordering of Tax Categories on Daily Sales & Tax Summary Reports
STR-12783
Description
This work standardizes the display order of Tax Categories so they appear consistently across both the DSR and Tax Summary reports. Tax categories are now rendered in a predictable order (alphabetical), eliminating mismatches between reports and reducing operator confusion when comparing totals or reconciling tax reporting across different views.
API & DataAPI
Optimize Offline Sync API (/tray/checks)
INFRAP-9559
Description
This work focused on performance optimization for the offline sync endpoint /tray/checks to reduce response times under load and improve overall sync efficiency. The effort focuses on optimizing backend execution paths used during offline check synchronization (including improvements to the push notifications-related logic), validating performance via concurrency testing, and ensuring the endpoint remains functionally equivalent to the prior implementation while delivering better latency at higher request volumes
Improve Offline Order Synchronization Architecture
STR-12788
Description
This work refactors offline order synchronization to reduce contention and improve reliability when devices reconnect after operating offline. Instead of immediately attempting to sync everything on reconnection, the system performs background “lazy” synchronization that runs on a periodic cadence (every 15 seconds) and uses exponential backoff when sync attempts fail, preventing tight retry loops and reducing load during unstable network conditions.
To avoid overlap between user-driven actions and system-driven background syncing, the architecture also introduces separate APIs for manual vs. automatic synchronization, enabling finer control over when each sync pathway runs and ensuring manual sync operations do not conflict with or duplicate the automatic background process.
Optimize HQ Server Checkout Report
STR-12814
Description
This work focuses on database-level optimization of the HQ Server Checkout Report (SCR) by analyzing the underlying query set and improving performance for report generation at scale. The effort includes reviewing and profiling the core SCR queries (orders, payments, no-sale transactions, and staff time entries), identifying bottlenecks (e.g., slow joins, missing/inefficient indexes, high-scan filters, or suboptimal grouping), and applying optimizations to reduce execution time and database load while preserving report accuracy. The goal is to ensure the Checkout Report queries execute efficiently for large date ranges and high-volume sites without timeouts or degraded HQ responsiveness.
Bug Fixes
Client
“Other Service” and “Other Destination’ Transfer Fails in Offline Mode
STR-13230
Description
We fixed an offline-mode issue where transferring a check using ‘Other Service' or ‘Other Destination’ could lead to issues on the client side and fail to record the TransferCheckService permission entry in the POS Activity report. Transfers now behave consistently in offline and online modes, ensuring item lists display correctly and the activity audit entry is captured as expected.
Comments
0 comments
Article is closed for comments.