NX Restaurant - Release 1.6.1
This update brings massive quality-of-life improvements to the POS, including a brand-new Notification Center, a fully redesigned Order Split View with drag-and-drop, powerful new Price Point Discounts, and a suite of expanded integrations. We've also squashed a ton of bugs and smoothed out the UI!
🌟 New Features & Enhancements
Ordering & Workflow 🍽️
Redesigned Order Split View: Splitting checks just got a whole lot easier! Both NX15 and NX6 devices now feature a simplified, full-height Split View. Best of all, you can now drag & drop items and payments seamlessly between seats.
Price Point Discounts: Discounts can now be configured to apply automatically based on specific Price Points. Note: These will override all other discount-level restrictions (like time ranges or item filters).
-
Prep Modifier Pricing: Pick more options to control modifier pricing when using a defined prep mod.
More info: Understanding Prep Modifier Pricing
Menu Item Approvals: Need tighter control? Menu items can now be flagged to require manager approval before ringing them in. This requires the
CHECK.ITEMS_RING_APPROVALpermission.-
Service Prompts: Employees can now receive service prompts such as beverage requirements or Check ID notifications.
Modernized Order Info Tab: The Order Info tab has been refreshed, giving staff a much cleaner, at-a-glance view of an order's status.
-
Payment Reapply: Card payments from previous orders can now be used for payments.
More info: Reapplying a Previous Card Payment
-
Menu Category & Modifier Category Sorting by Color: Menu & Modifier Categories can now be automatically sorted by menu item color for quick easy grouping & setup
More info: Organize Your Menu with Category Sorting
Customer & Gift Card Management 💳
Upfront Customer Lookup: You can now perform a Customer Lookup directly from the Start Order prompts, speeding up the workflow for takeout and delivery.
Redesigned Customer Info Page: The customer profile page has been completely overhauled for a cleaner, more intuitive experience.
Auto-Processing Gift Cards: When swiping a gift card via Pax A35 or VP33xx payment readers, the app will now automatically process the response—saving you an extra tap.
Valutec Integration: We’ve officially added support for Valutec Gift Cards!
UI & Notifications 🔔
Notification Center: A new hub has been added to display important system alerts, including Printer notifications and general System Status updates.
Global UI Cleanup: The entire NX App user interface has been polished. Text and button styles are now perfectly consistent across every screen.
Integrations 🔗
-
Local REST API: We've introduced a new REST-based local API, allowing integrators to query for store-level data directly from the device.
-
Socket Printing: Added support for third-party socket printing.
🐛 Bug Fixes
We've been busy under the hood, fixing crashes, tweaking workflows, and ensuring your data stays perfectly synced.
-
UI/UX & Workflow:
Fixed an issue where the Area > Table Name prompt was not automatically selecting the input field, which made the app appear frozen.
Fixed a bug where canceling the "Start Check" process midway through would prevent the user from starting a new check.
Fixed an issue where the Floor Plan color would not update for checks that had items placed on hold.
Fixed a visibility issue where "Today's Shift" on the Time Clock was hard to read in Dark Mode.
Web Orders: Fixed an issue where not all web orders were displaying properly on the POS.
-
Payments & Discounts:
True Cash Discount Support: The Guest Payment screen and Check Footer now fully support true cash discounts (inverted alternate pricing).
Fixed a bug from build 19019 where a Surcharge/Fee would incorrectly display the Cash price on the Guest Payment screen.
Fixed an issue with Valutec Gift Cards where the proper account number wasn't being sent during a tip adjust.
-
Printing:
Fixed an issue where printing receipts for checks with multiple seats might print the seats out of order.
Removed additional, unwanted spacing between parent items on Remote Chits.
Fixed a missing
/character in the Check QR Code URL.Cleaned up the
PrintManagerto handle null values gracefully and prevent crashes.
-
Permissions & Security:
Fixed a bug where employees with zero open checks (and without permission to view others' checks) could erroneously see other checks in the Order List.
Ensure Order Type Prompt requirements are strictly enforced.
-
Stability & Syncing:
Fixed an Employee Roster crash caused by a null schedule.
Fixed a bug that spammed Loggly with everything when Cloud logging was enabled.
Fixed a sync issue where records updated at the Enterprise level might not have a
venueId, causing them to vanish from the local VenueManager state.Fixed a bug where starting a check with "Order Type Prompts" (including Check Name) would sometimes prevent the check name from saving properly. Quick Ring scenarios now correctly set the Order Type as well.
🔮 Behind the Magic
Local APIs & Sockets: Rolled out the Local REST API for device-to-device communication and Third-Party Socket Printing support.
Data Parsing: Set
coerceInputValues = truefor the JSON parser to improve data handling.KitchenHub: Finalized the KitchenHub integration for "Ready for Pickup" & "Fulfill" functionality.
Code Refactoring: Refactored
SocketManagerto support a new minified payload system, addedAccountableTimeCardIdto Paid In/Outs, and madefeeIdon CheckSeatFee nullable.Project Raven: Continued laying the groundwork for Project Raven. 🐦
🧩 Patch Updates
-
20702
- Fixed issue where loading screen would cause the System Lower bar to appear causing UI jank unnecessarily.
- Fixed an issue where moving a payment from one seat to another would cause an app crash due to the prompt having the wrong value type.
- Fixed new customer creation where the name, phone & email fields would not recognize valid input also the screen was creating a CustomerTenant not a CustomerDTO.
- Refactored & improved customer assignment to a seat which could trigger a recursive save event when the seat would be updated.
- Fixed an issue on Vouchers & Receipts where a misconfigured Tip Suggestions could prevent the receipt from printing.
- Fixed an issue where the Report Screen could crash if the Report request was started before the URL could be determined.
-
20730
- Improved overall app stability and data reliability during periods of poor or intermittent network connectivity. Devices now recover more cleanly from dropped connections without requiring a restart.
- Fixed an issue where local data could be incorrectly cleared during a sync if the network request failed silently. Records are now preserved when a sync cannot be confirmed.
- Fixed an issue where menu items configured to skip the modifier screen were still navigating to it in certain area configurations.
- Fixed an issue where selecting a check could behave unexpectedly if a previous selection was still in progress.
- Fixed an issue where updating an item on a check may not have immediately reflected in the UI.
- Fixed an issue where print jobs could be sent to the queue more than once during a sync event, causing duplicate prints.
- Improved credit card payment device reliability with automatic recovery when the payment terminal becomes unresponsive. The app will now attempt to reinitialize the terminal without requiring staff intervention.
- Improved background sync performance. Heartbeat messages from connected peers no longer create unnecessary processing overhead.
-
20731
- Fixed an issue where a duplicate credit card authorization could be sent if a second payment was attempted while one was already in progress. The app now blocks concurrent credit transactions and automatically recovers if the payment process becomes stuck.
- Fixed an issue where cancelling a credit card transaction from the payment screen may not have reliably cancelled the transaction on the payment terminal. The cancel action is now sent immediately when the screen is closed.
- Fixed an issue where starting a check could become stuck in certain configurations, requiring the app to be restarted. This occurred when a prompt during the start-check flow disappeared unexpectedly, leaving the process unable to continue.
- Fixed an issue where running a report could result in an indefinite loading state if the report request failed to submit. The report screen will now correctly show an error.
- Fixed an issue where reports could inconsistently fail to load even after being successfully generated. The app now more reliably receives and displays completed reports.
- 20801
- Modifier items that are the only option in a required single-selection modifier category (min 1 / max 1) are now automatically selected when the parent item is added, eliminating unnecessary taps.
- The item quantity prompt now displays the menu item name as the dialog title instead of a generic label.
- Modifier Items that have Quantity Prompt will now default to the current available quantity for the Modifier Category (i.e. If the Max is 10, and you ring 2 the next Modifier will default to 8)
- Predefined quantity values are now displayed in a vertical scrollable list instead of a horizontal row, making them easier to select on all device sizes.
- Fixed an issue where the Balance Due label on receipts could use an incorrect format in certain receipt configurations.
- Fixed an issue where Payments Applied would not print on the Guest Receipt
- Fixed an issue where the Epson printer SDK could crash the app during an idle printer disconnect. The SDK's background status monitor thread could race with the disconnect call, causing a native stack overflow (SIGABRT). The monitor is no longer started on connection, as printer status is verified explicitly before each print job.
- Improved logging around printer disconnect so connection lifecycle events are now visible in device logs.
- Fixed an issue in item splitting where the UI could briefly show reverted item quantities. An early redundant save was triggering a database reload before item changes had been written, causing a race condition with the Room Flow subscriber.
- Updated Epson SDK to 2.36.0