Documentation Index
Fetch the complete documentation index at: https://docs.nuwebgroup.com/llms.txt
Use this file to discover all available pages before exploring further.
Below you will find the summary notes for the 46th release of the Nuweb core platform.



Pricing HistoryView the history of price changes, including whether they were made manually by a user or by dynamic pricing.
Resale NotificationsAdditional resale notifications are now available for customers selling their tickets. When enabled, the customer will be notified both when their listing goes live, and when their items sell. These are sent in addition to existing order related emails.
Resale notifications can also be configured within the event level resale settings

All email wording can be managed via the text manager in admin, by selecting the Resale emails category*.*
Samsung Wallet

Stay22 Integration







🚀 New Features
Dynamic PricingAutomatically adjusts prices in real time based on demand, removing the need for manual price updates, increasing prices during high demand and reducing them during lower demand to optimise revenue and sales performance.








- Added Samsung Wallet integration that use our Mobile Wallet Designs, that allows customers add their tickets to their Galaxy devices.

- We’ve improved the download options to help customers choose what suits them when there are multiple options to choose from.

- Added a Stay22 integration to allow customers to shop for hotel accommodation directly in-platform.


✨ Enhancements
- [NG-11730] [NG-11479] [NG-11548] Improved the user experience of bulk refunds:
- Delayed (non-instant) refunds are no longer incorrectly flagged as failing in the summary email
- In-flight refunds are now tracked from start-to-finish, providing better visibility on bulk refund progress, including a final “bulk refund update” email that’s issued once all refunds have finished processing.

- [NG-101333] Added support for tracking failed scans (ticket & other item type admissions as well as any unrecognised barcode/QR code) via the API — with accompanying mobile access control functionality to follow.
- [NG-10378] Future access codes are no longer filtered out of the index page in admin by default.
🎨 User Interface (UI/UX)
- [NG-11552] Schedule sub groups can now be made visible to customers in the ticket shop



- [NG-10783] Reordering has received updates throughout the system.

- [NG-11429] Seating plan labelling has now been made more intuitive with a new UI.

- [NG-11712] Added a visible cursor to the price-input
- [NG-11743] Added infinite scroll to the Gift Vouchers index page in Admin.
- [NG-11553] Moved all settings controls to a designated report settings section in the reporting UI
- [NG-11404] Made order dashboard display customer record and named orders more consistently.
- [NG-11298] Improved user feedback on bulk time slot update modal to ensure correct time slots are updated.
- [NG-11530] Updated screen reader only labels on accordions to show the correct call to action.
- [NG-11544] Fixed alignment of quantity selector on square event blocks.
- [NG-11493] Improved look of selected items on seating plans, including resale items
- [NG-11404] Named customer labelled has been made more consistent on the Order show page.
- [NG-10468] Improved visibility of selected seats when heatmap is enabled
- [NG-11697] Automatically select a single remaining timeslot or scheduled event when customers are browsing in shop.
- [NG-11553] Moved all report settings into a dedicated settings area, rather than being combined with filters.
- [NG-8074] Included event dashboard in breadcrumbs, when editing an event’s seating plan layout.
- [NG-8655] The order of price bands in the seating plan filters and and in the best available selection will reflect what is set in event settings.
🧹 Housekeeping
- [NG-11638] Improved the mass update checks when editing a sale item
- [NG-11522] Fixed an issue where some resale listing warning messages didn’t appear in the right conditions
- [NG-8476] Price band settings will now reflect correctly when selecting seats and general admissions in the editor
- [NG-7905] Initial seating plan availability now includes updates from the last 5 minutes.
- [NG-8558] You can add more children to discount codes and access codes, even if they’ve been used.
- [NG-9564] Timeslot modification in repeating schedules will now correctly apply changed fields only.
- [NG-10146] Fixed an issue where if an event has all time slots sold out, event passes and other items not in timeslots weren’t listed in shop.
- [NG-11119] View in seating plan links now correctly select seats in areas in admin
- [NG-11495] If customer has a pending balance, it will now display correctly in their wallet and on their customer profile in admin.
- [NG-11788] Order reference is now attached to Revolut refunds for improved reconciliation
- [NG-11562] Ensure failure to generate Szamlazz invoices doesn’t impact resale proceeds configured to return to via the original payment method.
🔌 Gateways
- [NG-11252] Integrated with Barclays Smartpay Fuse
- [NG-11255] Integrated with Montonio Payment Gateway
💻 Technical
- [NG-11414] Improved the performance of downloading Apple Wallet passes.
- [NG-11887] Added internal inbound/outbound webhook inspector to the hub & revamped the API inspector.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.🟡 Quality (5)
- 🟡 [NG-11402] Improvements to reseller invoice generation.
- 🟡 [NG-11713] Improvements to date pickers within the event dates panel to prevent multiple overlapping.
- 🟡 [NG-11724] Improvements to date of birth field validation in the shop.
- 🟡 [NG-11739] Performance improvements to the timeslot selector for events that contain a large number of scheduled events with timeslots.
- 🟡 [NG-11774] When handpicking events for an event block in admin, the selector now defaults to show only upcoming events.
🟢 Feature (1) 🟡 Quality (9) 🟣 Bug fix (4)
- 🟣 [NG-11351] Resolved an issue preventing users with the manage template blocks permission from deleting or restoring template blocks in the CMS.
- 🟣 [NG-11386] Resolved an issue which was forcing users to complete data capture questions against gift vouchers.
- 🟡 [NG-11402] Improvements to the invoice generation service to allow us to manually retrospectively generate invoices for a particular date.
- 🟡 [NG-11499] Improved the customer account settings page so that currency and language fields are shown / hidden correctly when no other options exist.
- 🟡 [NG-11597] Updated the SimplePay SZEP order reference separator to use
TX000instead of the-special character. - 🟡 [NG-11680] Fixed an intermittent 500 error when creating discount codes with inventory items selected.
- 🟣 [NG-11702] Fixed an error when attempting to modify an order that contains a TICKET belonging to an event in a schedule that also has season tickets available.
- 🟡 [NG-11712] Improved visual feedback within price inputs when the field is in focus and being edited.
- 🟡 [NG-11755] Order item API endpoints now correctly return
customerId’s for order items in child companies when queried by parent with global login disabled. - 🟡 [NG-11775] Fixed a seating plan reallocation issue where multiple seats were selected in the background.
- 🟣 [NG-11779] Fixed an intermittent error when sending attendee checkin webhooks when processing bulk offline scans.
- 🟢 [NG-11798] Added a new listing status filter to the resale contracts report.
- 🟡 [NG-11800] Improved efficiency of report exports to reduce runtime and memory usage.
- 🟡 [NG-11808] Removed duplicate padding on ‘bubble’ style template blocks.
🟡 Quality (7) 🟣 Bug fix (4)
- 🟣 [NG-11273] Resolved a discrepancy between event sales report and event capacity bars when resale sales have occurred.
- 🟣 [NG-11402] Resolved an issue preventing some reseller fee invoices from generating.
- 🟡 [NG-11440] Updated Szamlazz corrective invoice generation to preserve the same completion date as the original invoice.
- 🟣 [NG-11443] Resolved an issue where country names were intermittently being presented in the wrong language. This was due to an overly aggressive cache.
- 🟡 [NG-11639] Fee items are now hidden from complimentary order confirmation emails.
- 🟡 [NG-11642] Internal refactoring of phone number formatting on CSV report exports.
- 🟡 [NG-11691] GA space quantity selector in shop is now capped based on the spaces availability.
- 🟡 [NG-11749] Improved reporting of resale contract data when multiple resale fees were applied to a resale order.
- 🟣 [NG-11759] The date filter on the resale contracts report is now applied correctly based on the sale date.
- 🟡 [NG-11765] Child company resale contracts are now included in the resale contracts report when viewing via the parent company.
- 🟡 [NG-11778] [NG-11844] Fixed a number of very isolated 500 errors when loading data capture.
🟡 Quality (11) 🟣 Bug fix (12)
- 🟣 [NG-6494] Fixed Apple Wallet pass generation failures where users spam clicked the Apple Pass button.
- 🟣 [NG-10531] Removed an empty order total row from the order success page.
- 🟣 [NG-11359] Fixed an issue preventing images from being deleted from image blocks in the event page editor.
- 🟣 [NG-11457] Restored missing padding in searchable select dropdowns, including billing country and box office hold selectors.
- 🟡 [NG-11639] Complimentary order confirmation emails no longer show a full fee breakdown.
- 🟣 [NG-11690] Fixed GA areas on seating plans becoming unavailable after a selected ticket was removed.
- 🟡 [NG-11705] Ensure redirected domains can be used in box office mode
- 🟣 [NG-11713] Improved admin on-sale date editing so time selection is more reliable and events correctly move live when past on-sale dates are set.
- 🟣 [NG-11718] Fixed seating plan editor issues after duplicating or flipping areas, including errors caused by incorrect backend area IDs.
- 🟣 [NG-11725] Corrected hover styling and padding in the phone number country code selector.
- 🟣 [NG-11726] Fixed the data capture progress card so the progress bar respects the card border radius.
- 🟣 [NG-11728] Fixed feature flag prerequisite display so unavailable “any of” prerequisites no longer show.
- 🟡 [NG-11729] Increased top padding in the items modal for improved spacing.
- 🟣 [NG-11734] Fixed the mobile wallet editor so selecting a brand colour updates the background colour.
- 🟡 [NG-11756] Clarified bulk refund cancellation fee help text to show the fee is applied per item.
- 🟡 [NG-11757] Extended the deadline for switching to the new timeslot UI.
- 🟣 [NG-11758] Fixed API resale listing removal for child-company scoped listings.
- 🟡 [NG-10795] [NG-11080] [NG-11531] [NG-11673] [NG-11701] [NG-11767] Various performance improvements & error fixes.
🟡 Quality (2) 🟣 Bug fix (2)
- 🟡 [NG-11539] Added new total base net field to sales reports.
- 🟡 [NG-11710] Updated API docs to surface much more comprehensive details.
- Available includes
- Globally available request / response headers
- Casing consistency improvements
- Type hint improvements
- 🟣 [NG-11744] Fixed an alignment with the Buy now button in shop when no event menu was enabled.
- 🟣 [NG-11753] Fixed an error returned by the API when requesting a custom report that includes custom headers.
🟢 Feature (2) 🟡 Quality (9) 🟣 Bug fix (8)
- 🟢 [NG-9496] Added new resale sales reporting.
- 🟡 [NG-10568] Time selector now focuses on todays date when backing out of the timeslot selector.
- 🟡 [NG-11236, NG-11708, NG-11709] Various new text manager additions for resale and account balance labels in shop.
- 🟢 [NG-11516] Custom report API endpoint now allows
filterandheadersparameters to be applied in addition to report defaults. - 🟣 [NG-11572] Ensure address fields are shown correctly during child company checkout parent integrations mandate them.
- 🟡 [NG-11584] Improved format of error response returned when attempting to modify an expired order’s items via the API.
- 🟣 [NG-11617] Ensure scheduled reports run as expected on the last day of the selected run period.
- 🟣 [NG-11636] External discount codes now apply correctly when the same code has previously been used across multiple categories.
- 🟣 [NG-11645] Resolved an issue where the customer was not being preset in box office when creating an order directly from a customer record.
- 🟡 [NG-11662] Event tags now add only the selected tag, rather than the selected tag and the current search value.
- 🟡 [NG-11672] Buy now button no longer overflows the page container when the shop is rendered in an iframe on mobile.
- 🟡 [NG-11678] Admin global search now gracefully handles malformed search parameters rather than erroring.
- 🟣 [NG-11686] Filtering events by the same start & end date in the shop now correctly filters matching single day events.
- 🟡 [NG-11706] Gracefully handle Banorte payment meta data.
- 🟣 [NG-11722] Resolved an error preventing the ‘once’ scheduling frequency from being selected when setting up a scheduled report in hub.
- 🟣 [NG-11727] Improved accuracy of ‘next run’ time on scheduled reports when the report schedule ends today.
- 🟣 [NG-11736] Fixed events filter on resale contracts report.
🟢 Feature (2) 🟡 Quality (9) 🟣 Bug fix (3)
- 🟢 [NG-11098] Basket items added via the API can now be locked so customers cannot accidentally change or remove them. This helps keep resale checkouts consistent and avoids unwanted ticket changes.
- 🟢 [NG-11371] Introduced new resale payout settlement endpoints and reporting. For more information see API changelog.
- 🟣 [NG-11411] Row labels now appear correctly when new rows are added in the seating plan editor.
- 🟡 [NG-11468] Card network logos are now fully visible when using offline card payment methods.
- 🟣 [NG-11507] Seats now properly deselect in the seating plan management view when you unselect them.
- 🟡 [NG-11602] Bulk updates for the “Show access code input” setting now apply correctly to the selected event dates, removing the need for manual fixes across mixed schedules.
- 🟡 [NG-11612] Ticket descriptions now display correctly for eligible general admission tickets during ticket selection in shop.
- 🟡 [NG-11615] Old timeslot UI now correctly navigates to seating plan in box office.
- 🟡 [NG-11633] Revolut payment emails now link customers directly to their order page instead of a generic site page.
- 🟡 [NG-11642] Excel report exports no longer display phone numbers with incorrect formatting.
- 🟡 [NG-11647] Seating plan image exports now generate with improved layout and less unnecessary whitespace. Hold information is also shown correctly again in the export legend.
- 🟡 [NG-11663] Improved seating plan editor stability has removed flickering seen by some users during use.
- 🟡 [NG-11671] Resale payouts now process correctly even when parent company resale settings differ from the child company. This prevents resale orders from getting stuck in an incomplete state.
- 🟣 [NG-11685] Resolved an error preventing reservations from being completed in box office when refund protect is enabled.
🟡 Quality (10) 🟣 Bug fix (2)
- 🟡 [NG-11449] Ensure the external website URL field can be reset in Admin for charity donations.
- 🟡 [NG-11496] Fix an inconsistency with the “Buy Now” button not appearing on desktop for access code/sales period restricted events that had no event page menus enabled.
- 🟡 [NG-11508] Resolved a minor formatting issue in event reminder emails with customised content
- 🟣 [NG-11512] Resolve a 500 error preventing customers part of a customer group from modifying orders.
- 🟡 [NG-11518] Improved special character handling on event searches in the shop.
- 🟡 [NG-11520] Hide the refund protection step when clearing the remaining balance of a deposit reservation.
- 🟣 [NG-11545] Fix a display bug on the event dashboard where assigned visibility group names weren’t showing.
- 🟡 [NG-11574] Various seating plan editor performance improvements & optimisations for larger plans.
- 🟡 [NG-11596] Improved scrolling of new timeslots UI on mobile devices.
- 🟡 [NG-11605] Ensure seats don’t show as unavailable if reserved in the current basket, from a different event.
- 🟡 [NG-11579] Resolve edge case internal error with Stripe WisePOS payments on web box office for reservations containing deferred payment items (i.e. guest list signups)
- 🟡 [NG-11364] The About menu item no longer shows unless the description block is explicitly added to an event.
🟡 Quality (5) 🟣 Bug fix (1)
- 🟡 [NG-11501] Allow child order items to be listed for resale via the parent company.
- 🟡 [NG-11434] Resolve internal errors triggered by the Nuvei payment widget relating to stored payment methods.
- 🟣 [NG-11564] [NG-11565] Misc internal error fixes
- 🟡 [NG-11491] Prevent Excel treating “Gateway reference” as a numeric field when exporting transaction reports.
- 🟡 [NG-11593] Fix rendering issue with Code 39 barcodes on event media containing PNGs with transparency.
- 🟡 [NG-11594] Improved box office seating plan actions and ‘Apply to all’ features
🟣 Bug fix (1)
- 🟣 [NG-11573] Resolved a payment routing error with Stripe Terminal payments processed through MBO, exclusively where the primary box office gateway was set to anything other than Stripe.
🟡 Quality (3) 🟣 Bug fix (3)
- 🟡 [NG-11075] Ensure the “select donation amount” placeholder doesn’t show after selecting a donation amount.
- 🟣 [NG-11459] Fix an issue where CMS menu items extended off the page rather than being scrollable to.
- 🟡 [NG-11064] The “Please complete your account” form is now better aligned centrally on the page.
- 🟡 [NG-11547] Ensure Protect Group status badges display correctly on the attendance index page in Admin.
- 🟣 [NG-11542] [NG-11543] Fix attendance reports not generating when the “item status” header is selected.
Below you will find the summary notes for the 45th release of the Nuweb core platform.



Bulk refund improvements


[NG-10650] Secure QR Codes & Digital Passes











🚀 New Features
Timeslot / Schedule selection UI- A new simplified timeslot and schedule selection UI has been added to the shop:




- Filters can now be applied to the list of orders shown when bulk refunding an event

- Refund type input is now included in the bulk refund UI

- Cancellation fees can also now be configured during bulk event refunds

- Under Event Media, rebranded the previous Apple Passes menu to Mobile Wallet Designs
- The mobile wallet designer page has been updated to create more stylish passes for your your customers for multiple platforms at the same time.

- We have created our own Digital Pass, that your customers can access under their account using the Display Pass link, which has replaced the Display Barcode link.
- If an order has event with secure QR codes enabled, the download page in the shop will have a new and updated view. This will roll out to everyone in a future update.

- [NG-11195] Items with secure barcodes won’t show their barcodes anymore, instead they will display a Secure Barcode badge. In admin under the order and attendance, the secure barcode can be turned off by clicking on this badge, or downloading the item.
- We’ve reviewed our current seating plan purchase experience in shop to match other parts of our system and to unify the resale selling on the seating plan itself.
- When a customer selects a seat or a general admission on the plan, the space will appear in the top of their selected list, so they can take action if they need to right away (like selecting a ticket or a resale listing).
- Resale seats and general admissions will appear available in shop. When selected, the customer can see if there are other seats / spaces grouped with their selection.

- General admissions will only appear once in the selected list. Once selected, the customer can choose any amount of tickets on the selection. If there are any resales in the general admission, they will appear below the tickets.

- When listing resale seats, we’ve added extra restrictions, so seats and general admissions cannot be grouped together for resale, and that spaces in different areas cannot be grouped together.
- When listing items for resale, customers will have the option to select all items.
- We’ve updated the seating plan filter UI as well, and added resale as an option.
- In admin on your event’s seating plan, you will be able to see if a booked ticket is available for resale.
- We have added a new early access feature to update our sale item selection.
- When enabled, customers will see a call to action to select any item, instead of the quantity selector set to 0. When an item is selected, and the quantity can further be changed, our previous quantity selector will display. If the quantity can only be one amount, it will display the quantity selector as ‘Selected x 1’ (or the amount selected). This change will be applied on seated and non seated events.
- It’s disabled by default, but can be enabled under Site > Theme settings > Early access features.

✨ Enhancements
- [NG-10704] Added a new ‘Event Schedules Report’, providing a high-level overview of configured schedules, as well as extending the existing ‘Event Report’ to include all new settings and configuration options.

- [NG-11370] Streamlined the user experience of configuring feature flags in the hub so that it highlights collisions, pre-requisites and incompatibilities in real time.

- [NG-10927] Added the refund protection status to the orders & order items APIs, as well as on attendance reports with the ability to filter by status (protected, unprotected & claimed)

- [NG-10356] Added the ability to set optional Reply-to emails at the reseller & company level in hub.

🔌 Integrations
-
[NG-11467] SumUp: Migrated from using the old
pay_to_emailto the newmerchant_codefor payments. - [NG-10984] Added support for issuing refund protection in the box office (gated feature)

🎨 User Interface (UI/UX)
- Holds data is now displayed directly on the event dashboard

- [NG-11258] Order item UI has been improved to work better on mobile devices
- [NG-11291] Multi select input used in reports, and some event filters has been updated with improved accessibility, including keyboard navigation, and other QoL enhancements.
- [NG-11292] Tag input field has been updated with improved accessibility and QoL enhancements.
- [NG-11260] Event names on the admin event dashboard and in the shop on your event header will automatically resize their font size to fit better based on the length. Event names longer than 200 characters might be shortened on some screen sizes.
- [NG-11126] Various improvements to gift voucher administration:
- Sales counts & redemptions now show on the gift voucher index page
- The redemption status is consistently presented all throughout admin, including in reports & attendance
- Redeemed status is now available as a filter option in the attendance reports, via the item status filter.
- [NG-10015] Added the ability to specify which domain to use when entering box office mode, permitting staff to bypass external waiting rooms, firewalls & other DNS-related restrictions when required:

🧹 Housekeeping
- [NG-10994] When editing cities, we no longer revert any case changes (e.g. “glen head” → “Glen Head” won’t be ignored).
- [NG-10891] Items modal seat selection code has been refactored into it’s own component
- [NG-11344] Prevent error message on the event dashboard from note component
- [NG-10513] Price input now backspaces correctly
- [NG-11045] Active discount codes now present correctly during checkout in box office
- [NG-10775] Bulk refunding individual orders is now possible on orders with 2+ items. It is now the default option for orders with 5+ items.
- [NG-11405] Removed white squares from pricing input when splitting a basket between card (online) with Nuvei and cash.
- [NG-11425] Limit per customer, event and schedule number inputs no longer disappear when nullified in the inventory item form.
- [NG-11488] Dynamic fee min/max values now save correctly.
- [NG-11002] Checkout now forces the billing step when the selected payment gateway requires a billing address, regardless of data capture settings.
- [NG-6218] Create Order on Manage Plan now correctly opens box office and selects seats.
- [NG-11074] Table template block row moving visual issue has been resolved. Tabbed table template blocks have received row moving as an extra.
- [NG-10003] [NG-11186] [NG-11356] [NG-10991] Various API additions including ability to capture payments & process orders in a single request, as well as full support for processing paid items that require approval & more.
- [NG-11350] Improved clarity/UX around the conditional formatting functionality in reports
- [NG-11369] Resolved an edge case with refund protection and discount code calculations
- [NG-10700] Resolved an edge case where box office checkouts would loop back round to add-ons.
- [NG-10753] Ensure consistent access control handling of season tickets that have been restricted/removed from specific events in a scheduled.
💻 Technical
- [NG-11155] New API endpoint added: Retrieve Seating Plan Details
v1/seating-plan/datato return detailed seating plan data on areas, general admission areas, blocks, tables and the corresponding price bands each has available to them.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-10450] Prevented custom report headers with the same name from overriding each other after sanitisation.
- [NG-11233] Added indication of on sale status for resale items listed in a customers account.
- [NG-10903 & NG-11361] Updated active reservation counts in admin to exclude replacement order items (resale / order modification).
- [NG-11267] Removed some now-redundant properties from the add to basket API endpoint docs as it relates to resale.
- [NG-11345] Fixed an issue where GA spaces incorrectly appeared available in the item selector when no sale items were available.
- [NG-11348] Improved reseller invoice generation to more reliably handle reseller fees spanning multiple months worth of transactions. Updated the reporting of orders to be transaction based.
- [NG-11441] Global API update to prioritise
Accept-Languageheader over locale cookie. - [NG-11447] Added Hungarian translations for Protect Group.
- [NG-11093] Removed restrictions that prevented resale items from being purchased if the original order also contained transferred items.
- [NG-11108] Removed the ability to modify orders that contain items that are currently listed for resale.
- [NG-11128] Ensure that resale listings are displayed in the shop if resale is disabled at the event level, but enabled for specific sale items.
- [NG-11132] Removed restriction that prevented multiple resale items from the same original order being added to the basket within the same buyer order.
- [NG-11251] Resolved an issue where PNG images used in event media were losing transparency when downloaded as a PDF.
- [NG-11264] Fixed a date filter display issue on the admin orders index page.
- [NG-11339] Present validation message against password field when attempting to log in to the Shop.
- [NG-11367] Grandchild menu item reordering now saves as expected.
- [NG-11375] Promoted a number of system feature flags out of experimental into general availability.
- [NG-11376] Enabled locale selector on fee group name field to allow group to be named in other language.
- [NG-11377] Improved loading of integration related api logs in admin.
- [NG-11395] Resolved an issue preventing gift vouchers from being sold when no maximum value was set.
- [NG-11396] Resolved an issue when increasing seating plan block row size on newly created rows.
- [NG-9471] Improved the ability to mass assign tickets to sale item groups, across a schedule.
- [NG-10104] Removed kiosk from fee item forms in admin when kiosk feature flag is disabled.
- [NG-10712] Resolved an issue when switching between grouped and ungrouped scheduled events.
- [NG-10916] Protect Group vendor codes can now be set at the reseller level, and overridden at the company level.
- [NG-11197] Translated validation message titles.
- [NG-11215] Updated links on the inventory page to include event and sale item links.
- [NG-11235] Added a resale listing page to ‘my account’, allowing customers to see all current resale listings. Added a new ‘inactive’ status to resale listings, for use when listings will become active in the future. Added a new ‘on sale from’ label to resale listing UIs in the shop.
- [NG-11237] Resolved an issue with note components.
- [NG-11272] Prevent MBO connected Stripe terminals from showing in box office.
- [NG-11281] Significant updates made to the
fr_CAlanguage entries in hub, admin, and shop. - [NG-11283] Minor wording updates to Protect Group confirmation emails.
- [NG-11296] Prevent admin resale listing detail page from showing references of expired buyer orders.
- [NG-11297] Resolved a race condition when entering a seating plan area in the editor that could cause the loss of seat data within that area.
- [NG-11302] Removed an unused third party dependencies containing a security vulnerability.
- [NG-11304] Resolved an issue where some date pickers were not allowing a date to be selected.
- [NG-11307] Resolved an issue preventing the filters from being expanded on the resale listings index page in admin.
- [NG-11311] Updated scheduled report list view ‘next’ run date to consider the from date.
- [NG-11315] The ‘view more dates’ link inside the items modal now redirects to the listing page when enabled.
- [NG-11316] Include additional metadata in ONVO Payment gateway transactions to support upcoming changes within their API.
- [NG-11317] Added PGK currency support.
- [NG-10566] Ensure order fee descriptions are shown on the basket page
- [NG-11026] Added infinite scrolling to resale items to improve page performance
- [NG-11109] Prevented orders that contain purchased resale items from being modified via my account and admin
- [NG-11151] Include bundled item quantities within the
GET /sale-itemsandGET /sale-itemendpoints underbundledItems - [NG-11187 & NG-11188] Added new resale fee transparency settings to determine how resale fees and seller contributions are presented in the basket.
- [NG-11192 & NG-11301] Resurrected missing toggle on sale items that indicates if the item is eligible for stream access for online events.
- [NG-11211] Event status badge now shows on event dashboard when sales periods exist
- [NG-11212] Schedule listing view changes now load correctly
- [NG-11214] Allowed clicking of customer name in box office to reveal the basket panel
- [NG-11226] Updated the API to surface additional details about resale listings, and the related event / order.
- [NG-11227] Added resale listing created, closed, sold dates to the relevant resale listing endpoints. Surfaced the effective end time of a resale listing in the Admin UI
- [NG-11228] Added ability to filter by creation date, customerId, eventId, status and trashed on the resale listings endpoint.
- [NG-11229] Provided the ability to filter resale listings based on active/closed status via the API.
- [NG-11239] Phone code validation message no longer appears during checkout when phone number data capture question is disabled.
- [NG-11266] Resolved a UI bug where drop downs in custom forms would sit behind other fields
- [NG-11276] Added the ability to add custom links to the sidebar menu in ‘My Account’.
- [NG-11279] Improved event attendance time slot filtering by using the time slot ID.
- [NG-11231] Surfaced pricing info for the resale listings in the relevant API responses & admin UI.
- [NG-11165] Introduced a new company level setting to optionally include once-per-order fees in all-in pricing calculations.
- [NG-11259] Fixed a bug which prevented resale being explicitly disabled at the sale item level.
- [NG-9932] Included refunded / partially refunded orders within orders panel when viewing an individual customer in admin.
- [NG-10292] Removed donation items from the list of possible items to bundle/include in a bundle (as the donation would be ‘free’).
- [NG-10301] Appended customer_id and order_id to redirect URLs from basket links [see API changelog for more detail]
- [NG-10929] Fixed an issue where timeslots would be duplicated when created within scheduled events and improved timezone support.
- [NG-10970] Added support for dynamic statement descriptors to the Nuvei gateway integration
- [NG-11213] Improved checks in checkout to prevent a very niche scenario where customers are able to apply multiple discount codes to a single basket.
- [NG-11220] Standardised formatting of recently added admin navigation links
- [NG-11225] Updated the
GET /order-itemsAPI endpoint to support filtering by all item types. See API docs for a full list of supported types. - [NG-11238] Resolved an issue within the attendance report where filtering by items that can attend events alongside an event date would not show season tickets that could attend events within the date constraints set.
- [NG-11241] The event filter on the resale listings index page now correctly shows events that have listings, even when resale is now disabled.
- [NG-11265] Resolved an issue preventing split payment amounts being set correctly
- [NG-11270] Optimisations to access code usage report
- [NG-9152] Updated the refund emails to prevent seated items being grouped together
- [NG-9890] Improved permission checks when filtering events in box office, such that when users have a visibility group assigned and ONLY the ‘sell’ permission, all events are correctly returned (rather than hidden).
- [NG-10667] Ensure the ‘manage seating plan’ button in box office UI, when viewing an event, doesn’t disappear when navigating between pages.
- [NG-10906] Ensured that when check-in mode is set to ‘custom’ in a scheduled event, and mass update is used, the entered values are persisted across all events.
- [NG-11153] We now pass an expiry time to Revolut payments, and added support for
ORDER_CANCELLEDandORDER_FAILEDwebhooks. - [NG-11166] All in pricing now considers resale seller fee contributions as a deduction from the display price of resale items
- [NG-11205] Add a resale listing UI to admin
- [NG-11008 & NG-11172] Added Latvian and Estonian languages. Added Hebrew to the list of right-to-left languages that we support.
- [NG-11176] Added Pixel Tracking settings to the list of attributes that can be mass updated across an event schedule
- [NG-11179] Resolved an issue in text template blocks causing text to overflow
- [NG-11180] Prevent event sales stats from doubling up when items have been listed for resale
- [NG-11190] Resolved an issue in customer accounts when viewing their dashboard with recently purchased epos shop products
- [NG-11191] Resolved an issue where event media settings were not displayed correctly whilst creating a sale item
- [NG-11193] Resolved an issue with sales figures not displaying correctly on the event dashboard
- [NG-11196] Updated sale item assignment to ensure empty resale setting entries are not created.
- [NG-10962] Added the ability to filter customer feedback by specific & relative date ranges.
- [NG-10982] The
GET /walletsandGET /walletAPI endpoints have been updated to returncustomerIdinstead ofuserIdto ensure consistency with other endpoints. - [NG-11020] Fix an issue where large orders, containing cover sheets, wouldn’t download when the download was queued due to an authorisation error.
- [NG-11083] Further UI improvements to the resale listing screen
- [NG-11171] Users will now be redirected to the original page after manually initiating a login
- [NG-11184] Upgrades to a number of third party dependencies to resolve CVEs
- [NG-10417] Prevent download links from returning a 401 unauthorised error when customers access them in DuckDuckGo (or other ‘privacy first’ browsers). Root cause was that these browsers were removing parts of the URL which were used in the security mechanisms on that page.
- [NG-11139] Improved seat map highlighting support when selecting a resale listing to purchase in shop
- [NG-11167] Allow primary fees to be omitted for resale orders
- [NG-11168] Updated order item data import to support bundled topups, and improved wallet adjustment data import to support custom currencies.
- [NG-9906] Added pagination when retrieving order items for a specific seat in the event seating plan dashboard
- [NG-10448 & NG-10872] Improved performance of event media selectors within admin
- [NG-10588] Updated the API admit item endpoint to prevent edge case failing when including non-ticket type items in the same payload
- [NG-10892] Tracked “You’ve been added to customer group” emails against the relevant customer record
- [NG-11023] Removed deprecated resale settings database columns
- [NG-11100] Improve Firefox support for embedded iframe-based checkout flows.
- [NG-11116] Updates to some internal tooling around SSL certificate management
- [NG-11118] Fixed a 401 error which was being shown when attempting to change currency on the download page
- [NG-11121] Order internal notes are now reset to the original value when clicking “cancel”
- [NG-11122] Fixed 500 error caused by trying to resolve resale settings on non-event based items
- [NG-11135 & NG-11130] Buy now button correctly updates when general and pre-sales begin in another timezone
- [NG-11137] Fixed permission check that was preventing event schedules from being shown when assigning basket codes as a non-super user
- [NG-11138 & NG-11103] Prevented transferred items from being listed for resale, unless they have been transferred back to the original purchaser
- [NG-11146] Added presale dates to buy now tooltips on shop event listing page
- [NG-11149] Added order searching to specific space selection on event seating plan dashboard
- [NG-11152] Added additional safeguards to resale listing page to prevent cross account order information being surfaced
- [NG-10954] Added all-in pricing support for resale listings.
- [NG-11003] Fixed minor padding issue on checkout billing address step.
- [NG-11029] Allow resale listings to be cancelled by the original purchaser
- [NG-11055] Fix sharing cards in WhatsApp (for URLs with a Cloudflare Challenge Screen).
- [NG-11099] Fix an issue when issuing multiple partial refunds via Revolut.
- [NG-11102] Improved the implementation of mandatory seller contributions when listing items for resale. This is now based a % of the listed item’s price, rather than a % of resale fees.
- [NG-11104] Prevent transferring an item whilst listed for resale. Prevent items that have been transferred from being listed for resale.
- [NG-11106] Prevent items that are listed for resale from being downloadable.
- [NG-11120] Fix box office gift voucher redemption when customer was assigned to basket
- [NG-10949] Fixed image sizing issue on template blocks
- [NG-10989] Renewed Apple Wallet pass signing certificates
- [NG-11086] Fixed an issue preventing other dates in a schedule being selected in box office
- [NG-11110] Prevented fees being mistakenly removed from the resale listing preview UI when multiple of the same fee applies
- [NG-11111] Allow wallet transactions API endpoint to be filtered by orderItemId
- [NG-11112] Return source type + id on wallet transactions API endpoint
- [NG-11113] Allow /orders API endpoint to be filtered by eventId
- [NG-11114] Ensure ‘verified resale items available’ button is hidden if resale is explicitly disabled on an event/company
- [NG-11115] Remove the ‘who pays fees?’ question from the resale listing UI, when there is no customer choice to be made.
- [NG-11076] Box office checkout button no longer gets stuck immediately after selecting a customer.
- [NG-11090] Split payment inputs no longer reset to zero as you key in the monetary values in box office.
Below you will find the summary notes for the 44th release of the Nuweb core platform.
Unified shop loginAfter much customer feedback, the login/registration step during checkout has received an upgrade to provide a unified login experience. This de-emphasises the need for customers to register just to place their order. The new experience reveals the appropriate actions for the user based on the email address entered:



ResaleThis release we introduce version 1 of our resale product which sits alongside primary ticket sales to allow customers to purchase verified resale tickets with confidence.Resale settingsThe resale experience is fully customisable - defaults can be defined at the company level, whilst allowing event and item level overrides to be set.
Listing experienceCustomers can now list items that meet the criteria for resale via their account


Purchase flowOnce listed, items are made available alongside primary tickets, for both seated (including GA) and non-seated events

Increase customer confidence throughout checkout with ‘Verified resale’ badges throughout
Seller payoutsOnce items have been sold, there are a number of payout mechanisms available which can be configured within your account:


🚀 New Features
Two factor authentication- [NG-5058] Two-factor authentication (App-based 2FA) is now generally available in hub & admin:

- New users will be automatically presented with the continue as guest journey by default, with the option to register if they wish.
- If the email address belongs to an existing customer, the password field will be revieled to allow them to login.
- If a users previously logged in with a social login provider, then the system will visually indicate this to them so they can continue with their same account.











- Payout to primary online payment method (for-profit sale pays out additional to account balance)
- Payout to account balance as a pending balance (cannot be spent immediately)
- Payout to account balance (can be spent immediately)

✨ Enhancements
- [NG-10636] Event pages now automatically reload when a sales period begins:

- [NG-10662] Shop checkout login page has been improved to reduce friction and speed up checkout
- [NG-10778] Simplified the non-checkout login page
- [NG-10656] Authenticated CMS pages
- [NG-10674] Allow customer groups to be activated/deactivated
- [NG-10691] General admission ticket quantities can now be changed in the basket.
- [NG-10716] An order’s available download options, including cover sheets and item template selections, are now correctly scoped for both parent and child company admins.
- [NG-9500] Orders reports now support fulfilment status and method filters.
🎨 User Interface (UI/UX)

- [NG-10917] Lengthy discount codes now truncate, rather than distorting the order page in Admin
- [NG-10901] Order fees now present the total price to the customer during checkout, rather than the per fee price
🧹 Housekeeping
- [NG-10780] Resellers can now define whether their fees are naturally rounded, always rounded down, or always rounded up.
- [NG-11017] Updated Protect Group email content in Hungarian language.
- [NG-10712] Schedule groups now correctly reload the correct list of events.
- [NG-10985] Resolved an issue where tickets weren’t being cancelled after a refund protection claim
- [NG-10060] Fix an issue where timeslotted addons weren’t copied correctly when copying/scheduling events
- [NG-11057] [NG-11047] Nuvei: Improved billing address validation and fixed an issue with certain types of refund failures not being handled correctly
- [NG-10755] Fixed an edge case where account balance funds weren’t returned after a split payment failure
- [NG-10714] Switching companies in admin now forces domain switches to ensure GTM scripts terminate.
- [NG-10541] Cleaned up legacy tax profiles to prevent inaccurate Szamlazz invoices from being generated.
- [NG-10616] Resolved an issue where clicking an event’s sale item group’s “View attendance” link displayed unexpected results.
- [NG-10893] Resolved an issue preventing event reports from generating when including the “Event url” field.
- [NG-10777] Resolved an issue where capacity fields were not populated when producing a sales report grouped by event.
- [NG-10290] Show processing fees for charity donation creation
💻 Technical
- [NG-10673] Advanced Google Consent mode can be enabled by Resellers per company to allow cookieless Google Analytics tracking.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-10995] Gracefully handle protect group error when completing an order modification for an event that starts within 24h
- [NG-9843] Added the ability to opt individual events in & out of refund protection (Protect Group).
- [NG-10888] Resolve a scrolling issue when box office event search results expand beyond the page height.
- [NG-10907] Added the ability to specify the sales tax rate associated with refund protection.
- [NG-10915] Added
sort_orderto the sale items API. - [NG-10932] Fixed price donations now show where roundups are enabled and basket is free.
- [NG-10937] Infrastructure: Reduced the waiting room upper bounds to improve queue position stability.
- [NG-10981] Infrastructure: Improved auto scaling responsiveness to address intermittent latency & timeouts.
- [NG-10545] Resolve issue with “add condition” button on custom reports
- [NG-10759] Clean up of old June integration code
- [NG-10881] Added the ability to opt-out of sending customer PII in the Protect Group integration
- [NG-10914] Added split payment feature flag to config endpoint
- [NG-10947] Added further protections to ensure deposits aren’t mistakenly expired prior to the deadline date
- [NG-10481] Refund protection badge now shows for collapsed order items when applying protection during checkout
- [NG-10883] Resolved an issue causing order modifications to reduce total stock capacity for items that remained unchanged.
- [NG-10895] Hidden refund protection text block when sending order confirmation emails en masse using the blank template.
- [NG-7155] Fixed an error that was shown when attempting to download a transferred item, from within the admin order UI.
- [NG-10447] Changing scanning times on an item in a schedule now presents the mass update modal
- [NG-10665] Updates to Revolut integration
- [NG-10738] Added delete customer API endpoint
- [NG-10787] We’ve changed the default settings on new seated events, to automatically select the highest priced ticket when selecting a seat. This default behaviour provides the most frictionless default experience for customers. Organisers remain free to change these settings when configuring their event.[NG-10787] Default the ‘automatic ticket selection’ setting on seated events to the highest price item first
- [NG-10899] Fixed an issue preventing gift vouchers from being downloaded
- [NG-10791] Date formatting in orders index no longer shows ‘Invalid date’ for certain endian settings
- [NG-9730] Instantly expire SimplePay TIMEOUT / NOTAUTHORISED payments
- [NG-9918] Fix inability to enable the Hide global system roles feature flag in specific scenarios
- [NG-10464] Fixed an issue loading access code usage based reports
- [NG-10580] Added Revolut webhook support
- [NG-10591] Allow hub level event report to operate across multiple resellers
- [NG-10618] Allow orders in “processing” and “unknown” status to be manually completed in admin
- [NG-10656] Allow CMS page visibility to be restricted to logged in users only
- [NG-10669] Improved all-in pricing support when selecting a seated item by including order / event level fees within the fee value shown against the ticket.
- [NG-10717] Surfaced an
isCancelledproperty within theGET /v1/eventsandGET /v1/eventAPI endpoints - [NG-10740] Fixed edge case causing deposit paid reservations to expire
- [NG-10759] Replaced June event tracking in Admin with GA4 tracking
- [NG-10764] Added gates to /orders endpoint spaceNameParts parameter
- [NG-10769] Performance improvements when initiating an order modification for orders with a large number of items
- [NG-10772] Seated tickets within PDF downloads will now be ordered by event start date, followed by seat number
- [NG-10784] Fixed a range of translations that incorrectly displayed the placeholder (e.g. ”: id”) instead of actually replacing with real data.
- [NG-10789] Updated some Hungarian translations to improve accuracy
- [NG-10868] Improved the wording of Protect Group protection on the customer confirmation email
- [NG-10873] Add replacedOrderItemId to add to basket API response
- [NG-9336] Added day of week to dates shown on wallet transaction history, order index completed at and admin dashboard
- [NG-9893] Prevent season ticket items showing when using the ‘can attend event’ report filter for events where the season ticket has been removed
- [NG-10080] Add custom email text on refund email for resale orders
- [NG-10439] Included fee items in the list of item types returned from the
order-itemsAPI endpoint - [NG-10538] Resolved an issue which caused the payment link expiry date picker in box office to close when trying to change months
- [NG-10590] Surfaced customer effort score in hub reports
- [NG-10640] Refund and refund failed webhooks
- [NG-10657] Added a new iframe template block type
- [NG-10675] Allow orders to be retrieved via the API using only an order reference
- [NG-10684] Improved display of address lookup fields across smaller, mobile screens
- [NG-10754] Fix Payment Link 403 when child company shop is disabled
- [NG-9466] Removed calendar navigation controls where only one date exists
- [NG-9894] Button text theme colours are now set correctly in box office
- [NG-10524] Show shops edit account button on mobile
- [NG-10567] Bullet points now show in shop for item descriptions
- [NG-10723] Resolved an image quality issue when uploading images to event media
- [NG-10726] Improvements to seating plan editor to prevent getting stuck in a loading state when administering an area
- [NG-10473] Added
customer_name,roles,customer_groups,companyandutc_timezone_offsetproperties to GTM events - [NG-10628] Ensure marketing questions are asked during box office checkout based on the lack of customer responses rather than box office user responses.
- [NG-10682] Gracefully handle a missing seating plan tag description when syncing seating plan to an event
- [NG-10687] Added additional tooling to our internal waiting room dashboard
- [NG-10688] Resolved the ability to view transactions belonging to customers that have been merged
Below you will find the summary notes for the 43rd release of the Nuweb core platform.

The basket has been updated to display the changes that have been made, including the original / new quantity, any items that will be removed from the order, and a summary of what payment / refund is due

If the order value is reduced, then any outstanding amount will be refunded to the customers account balance, allowing them to redeem this funds within the platform at a later date
As always, we’ve given fine grain controls to event organisers, allowing you to enforce cut off dates, fee settings, and refund behaviour.
All of this behaviour is also available to admin users, who can now make changes to orders, via box office.
Merge customers
Manual Refund Protection

Resale
🚀 New Features
Order modificationsThe new modify order capability allows customers to make changes to completed, paid orders. This is a self-serve feature which can be accessed by the customer when viewing an eligible order via their account.






- [NG-8929] Customer records can now be merged together, with all data, orders and items carried across to the remaining customer record.
- Conflicts can be resolved easily by selecting either the current customer or the merged customers data

- [NG-9880] Added the ability to define custom refund protection fees to support integrations with both first and third-party event refund protection providers
- Protection pricing can be fixed and/or percentage based, as well as supporting tier-based pricing where rates change depending on the ticket price.
- Multiple protection offerings can be configured, allowing for multi-party integrations and/or presenting customers with different levels of coverage at different price points.
- Account-level protection controls allow for minimum order values and event cut-off periods to be defined.


- [NG-10324] Resale fees can now be configured and applied to resale baskets
- Add resale contracts to API, which allow an item to be marked as available for resale
- There is a new create, show and delete endpoint for managing resale contracts for order items
- Further details can be seen over in the API docs:

✨ Enhancements
- [NG-8542] It is now possible to enable ‘welcome emails’ for any self-service company registrations. This will allow new companies to receive details around plans, pricing, customer support, and any go-live requirements.
- [NG-9324] Enhancement automated email when added to customer group
- [NG-9888] Reseller fee invoicing now supports accrual invoicing for marketplace gateways (e.g. Stripe) to ensure that invoices are generated based on transaction date, rather than payout date.
🎨 User Interface (UI/UX)
- [NG-8104] Standardised the wording around ‘account balances’ across the platform (we no longer reference them as ‘wallets’ in certain scenarios).
- [NG-10291] Display min and max pricing for variable priced donations.
- [NG-10257] Formatted valid to and valid from dates in eligibility settings for discount and access codes
- [NG-7844] Simplified the customers experience when distributing large numbers of tickets post-purchase
- [NG-10331] Processing fees can now be set for epos shop products where the epos currency is fiat.
- [NG-9871] The box office event search page is now customisable as the shop search page, plus received additional UX improvements like all filters following the user, and events opening in a modal
- Additionally the shop search page has received a UI uplift
- [NG-10116] The maximum space counter in the seating plan editor have been changed to be only a seat counter. General admissions and areas won’t count towards this maximum limit anymore.
- [NG-10132] Add seating plan table modal have received UX updates, and a new option to set how many tables you are adding
🧹 Housekeeping
- [NG-10106] Processing fees no longer visible when disallow processing fees feature is enabled.
- [NG-10110] Report toggles no longe reset to true when the report data reloads.
- [NG-10074] Allow resale days before event to be set back to empty
- [NG-9608] Improved padding on basket preview panel
- [NG-10387] Date & time questions no longer present broken HTML in the label
- [NG-10351] Removed ‘view all’ button from transaction history in wallet block of a customers account
- [NG-9539] Prevent add-ons from being assigned to add-ons
- [NG-9686] When deleting tickets from an event, the schedule dashboard still retained cached data; it now displays correct data.
- [NG-10134] Add tickets actions are now visible on new schedule dashboards
- [NG-10459] Fixed an issue causing sharing settings to be reset when updating event sale periods
- [NG-10534] Added
seating_plan_space_idto the seating plan allocation report - [NG-9194 & NG-10373] Resolved a bug when removing dynamic, per-item fees from multi-item baskets.
- [NG-7846] Resolved an issue where the
limitparameter was not being respected when used on the/entry/ticketsendpoint - [NG-10608] Fixed an issue where the sharing step wasn’t being displayed in the checkout when the order only contained a gift voucher.
- [NG-10626] Timeslot information is now displayed underneath bundled items in admin.
- [NG-10620] [NG-10060] Various fixes relating to the creation and copying of add-ons.
- [NG-9647] Resolve an intermittent error when selecting a customer before starting a basket in box office mode.
- [NG-10606] Increase the upper limit of registered stripe terminals from 10 to 100 in box office mode.
- [NG-10446] Fix duplicate confirmation emails being issued when refund protection is purchased and the “Dispatch confirmation email per inventory source” option is enabled.
- [NG-10466] Adjusted Google Consent updates to fire on every page load with the customer’s current consent settings.
- [NG-10056] Bulk event editing options have been restored on the admin events page.
- [NG-9841] Fixed an issue where general admissions inside areas using the Best Available UI could not have been selected
💻 Technical
- [NG-9820] Apply migrations to tidy up the discount and access code tables now that old columns are no longer in use
- [NG-10340] For embedded seating plan integration a highlight mode has been added to display the seating plan without any interactions.
- [NG-9196] Our Google Places integration have been updated to use the New Google Places API.
- The Find Address feature has been updated to only look for an address on a button click.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-10297] The relevant seats are now highlighted when selecting stands in manage event seating plan.
- [NG-10355] Shop basket limits are no longer applied to bundled items or add-ons. It is now possible to allow customers to purchase up to the basket limit and continue to add add-on items.
- [NG-10388] Event stats can now optionally be retrieved as raw unformatted numbers via the API.
- [NG-10453] [NG-10462] Small improvements to help with managing sales periods in multi-timezone accounts:
- Past dates can now be used when configuring sales periods.
- Additional visual indicators re-affirm which timezone the dates are configured in.
- [NG-9859] Added the ability to expire baskets via the API
- [NG-10195] Added tracking for basket expiry events in both iframe integrations and analytic/pixel trackers.
- [NG-10228] Capture useful information about the checkout experience when collecting customer feedback
- [NG-10375] Removed unnecessary brackets on fee/tax price display
- [NG-10396] Improved the capabilities of parent/child company access codes:
- Added the ability to assign child company items (such as events, sale items, schedules, etc.) to parent company access codes — these restrictions only apply in the parent company shop/listings.
- Where sibling companies have conflicting access codes, we now prioritise them when applied in the parent company based on their validity times.
- [NG-9896] Ensure Buy Now button correctly responds to various sale period states
- [NG-10399] Resolved an issue preventing Apple passes from being signed correctly.
- [NG-9997] Apple pass and event media are no longer incorrectly shown in the mass update modal when editing bundles.
- [NG-10103] Resolved a bug which was causing the basket panel to close unexpectedly without user action
- [NG-10155] Resolved a bug preventing the customer account balance topups panel from opening in admin
- [NG-10278] Absorb processing and reseller fee toggle is no longer hidden when variable priced donations are made.
- [NG-10286] Improved permission checks for donation creation on event pages, to avoid mistakenly hiding the options for users who should be able to manage donations.
- [NG-10327] Implemented anonymisation of customer info when integrating with tracking pixels
- [NG-10341] Show reserver name when editing information during checkout
- [NG-10343] Name and email inputs are now displayed by default where customer is required during box office checkout
- [NG-9487] Redirect to custom URL after checkout of API created basket
- [NG-9853] Allow forced customer selection in box office
- [NG-9934] Ensure default text is shown on buy now buttons when custom purchase messaging is removed
- [NG-10062] Event meta image changes now show without requiring a page reload in admin.
- [NG-10111] Protect Group is now generally available. Additional internal monitoring tooling has been implemented to ensure Protect Group failures are caught & corrected early.
- [NG-10165] Resolved an issue where article content blocks were being duplicated after import.
- [NG-10167] Fixed an issue where the “Options” button in My Account didn’t always dropdown when clicked.
- [NG-10227] Ensure seating plan revisions do not reset stand information.
- [NG-10314] Implemented customer feedback reports in admin, following on from the recent addition of a customer feedback widget on the checkout success screen.
- [NG-10330] Fixed an error on checkout success when attempting to collect customer feedback from a guest user who has been logged out.
- [NG-10333] Fixed the sale item restriction toggle not working during event fee creation in admin.
- [NG-10336] The standard text for “Item fees” in the shop can now be customised via the admin text manager.
- [NG-9168] Ensure stale content isn’t shown within the event description field when editing mixed schedules.
- [NG-9650] Fee tabs now horizontally scroll when all currencies are enabled.
- [NG-9768] Improved performance with charity donations in checkout.
- [NG-9895] Google consent update events are now sent via GTM when users update their cookie settings.
- [NG-9913] Box office no longer continually refreshes whilst list views are disabled in theme settings.
- [NG-9946] Include headers row above totals in longer reports
- [NG-9963] Prevent white screen for hub user with no resellers & the edit reseller general settings permission.
- [NG-10018] Prevent inventory item stock value changing on mouse scroll.
- [NG-10055] Resolved an issue where opening a linked image in a new tab would freeze the original tab.
- [NG-10059] Ensure country code selectors pre-select the correct country based on ordering preferences.
- [NG-10061] Ensure the admin event Sell buttons open box office in a new tab, without affecting the original tab.
- [NG-10063] Improved the display of ‘image too small’ warning when uploading images.
- [NG-10066] Allowed percentage based fee items to be set with up to 2 decimal places.
- [NG-10147] Resolved an issue where season ticket check-in time would be reset to anytime on load edit.
- [NG-10151] Performance improvements to internal language translation tooling
- [NG-10170] Removed unexpected border above event block search fields
- [NG-10173] Resolved an issue with the WYSIWYG editor when empty
\<figure>elements are left behind. - [NG-10187] Improved reliability of Szamlazz document generation during rebooking.
- [NG-10192] Implemented capturing of customer feedback after successful checkout.
- [NG-10233] Show timeslot times on tax receipts.
- [NG-10249] Ensure correct values are sent to Protect Group when remaining balance payments are completed.
- [NG-10267] Resolved intermittent errors detected from basket timeout extension requests.
- [NG-10251 & NG-10275 & NG-10278] Fixed a number of inconsistencies between how donations are listed in checkout and their configuration in admin.
- [NG-10309] Disabled orphan seat checking for tables which have Disallow booking individual seats turned on
- [NG-10310] Ensure sale items beyond the first 50 for an event can be selected when configuring event fees.
- [NG-10312] Surface company VAT number via the
GET /v1/configAPI endpoint
- [NG-6267] Improved the surname deduplication logic used when syncing customer details from 3rd party logins
- [NG-9070] PDF downloads and order distributions containing seated items will now be prioritised by seat number
- [NG-9685] Fixed incorrect placeholders in Hungarian language entries
- [NG-9957] Improved reliability of liking/unlinking of events in the shop
- [NG-10032] Schedule listing page images are now 2/1 aspect ratio
- [NG-10075] Improved clarity of wording on schedule listing pages, especially when viewed mid-schedule
- [NG-10107] Can now change months in discount code eligibility settings date inputs without issue.
- [NG-10181] Included a ‘view schedule’ button to the schedule dashboard
- [NG-10194] Included the currency code alongside the currency symbol on invoices generated by hub.
- [NG-10248] Improvements to orphan seat protection when selecting the first and last seat on a table
- [NG-10188] Resolved issue where cover sheets cannot be unselected in pdf downloads.
Below you will find the summary notes for the 42nd release of the Nuweb core platform.
Text manager enhancements

Order modifications (internal preview)








🚀 New Features
Introducing Data Endpoints for scheduled report publishing- [NG-9807] [NG-9940] Added the ability to publish scheduled reports to S3 buckets via the new “Data Endpoints” feature.

- [NG-9318] Order confirmation emails can now be customised at the event schedule level (via admin text manager). This allows custom text to be set across the whole schedule rather than having to be manually applied to each event within the schedule.
- [NG-9925] Added new text manager permission group to admin user role management
- [NG-9311] Implemented first-party ticket resale support via the Basket API, with the ability to configure resale settings at the company, event and sale item level.

- [NG-9494] Added a new “Order failed” webhook, to listen for order failures/expiry events, as well as the ability to configure order webhooks to be triggered on resale orders and/or original sales.

- [NG-10118] Foundational changes to the core orders and basket services to allow us to support order modification and resale in future releases.
- [NG-9869] Our 3D Digital Venue integration allows you to map your seats view with their system, so your customers can see their view when purchasing their seats.
🔌 Integrations
- [NG-10098] [NG-10127] [NG-10088] [NG-9776] Various improvements to the Protect Group integration including more robust error handling, better phone number validation & automatic fee adjustments when modifying protected baskets.
- [NG-9777] Improvements to the VAT lookups management for Hungarian customers: improved messaging when looking up invalid or unsupported VAT numbers, more info such as floor, door & group vat number is presented, overall improved UX for a variety of different scenarios.
✨ Enhancements
- [NG-9323] Customer groups can now expire on a specific date

- [NG-9851] Allow order billing and delivery addresses to be edited in admin

- [NG-9212] Event page block titles are now completely optional
- [NG-9849] Immersive box office
- Admin menu will be hidden in box office for users with minimal access
- When admin menu is minified, it will slide out of view

- [NG-9956] Detectable automated traffic (bots, crawlers, marketing tools, etc.) now have dedicated waiting rooms separate from regular visitors & will no longer clog up the waiting rooms.

🎨 User Interface (UI/UX)
- [NG-9863] Charity donations presentation & usability have been improved: variants are grouped into a single line, percentage-based donation suggestions can be combined with fixed options, custom badges can be added to individual price variants & descriptions now display correctly:


- [NG-9825] Image inheritance is now displayed in tooltip text.

- [NG-9215] Bundled items are now grouped when processing refunds.

- [NG-10023] Basket page and basket panel user experience improvements
- Grouped sale items by events in both areas
- Updated basket panel to make it feel less crowded

🧹 Housekeeping
- [NG-8606] Remove unused fields and table from discount/access codes
- [NG-9996] Removed past events from box office event search
- [NG-9990] Included day of week in date formatting for basket slideover
- [NG-9991] Ensure events are ordered “earliest first” when clicking “back to events” on box office order success page
- [NG-9419] Fixed a situation where discount codes restricted to schedules or inventory items, weren’t shown in the box office ‘discount code’ dropdown.
- [NG-10068] Introduce new event sales report grouping to allow grouping by processing fees paid
- [NG-10069] When grouping event sales reports by ‘event schedule’ we no longer forcefully group unscheduled events into a single
-row; instead we now provide a filter to opt-in to this grouping - [NG-10070] Added an aggregated
venue_namesfield to the transactions report - [NG-8046] Fixed an issue with
sharing after checkoutnot being considered in mass updates of tickets - [NG-10058] Allowed season tickets to enable/disable kiosk as a sales channel
- [NG-8442] Renamed ‘charity donations’ to ‘donations’
- [NG-10092] Added
/donationsand/gift-vouchersto the sitemap - [NG-10156] Forced checkout modal no longer appears when the basket has been emptied
- [NG-10168] It is now possible to rename
event passlabels in the shop via the text manager - [NG-10164] Improve performance of hub role management
- [NG-9420] Open settings panel automatically when first enabling manual payments
- [NG-10161] Custom currency topups can now be transferred post checkout
- [NG-10038] Added “click-to-reveal” on sensitive API tokens throughout the API documentation
- [NG-9532] Error messages no longer force a page refresh when adding refund protection
- [NG-9752] Default header images are no longer prioritised over event images during creation
- [NG-9381] In all our analytics integrations where userId and lastVisit was available we’ve added user_id and last_visit, to match the casing of other properties. The previous name is unaffected and still in place.
- [NG-9567] When adding seats to basket, resolved an issue when previously removed items are submitted with the quantity of 0
- [NG-9904] Ensure the “Assigned to X events” shows the correct number when restricting discount codes
💻 Technical
- [NG-6180] New internal tooling improves our ability to identify & block malicious traffic.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-9986] Resolved a further issue with
/entry/ticketsendpoint not returning all possible zones permitted for a single ticket, where the ticket has been assigned to multiple zones
- [NG-7719 + NG-9983] Fixed a permission check that prevented child companies from pairing NFC tickets with any orders placed in the parent company. Fixed a query issue that sometimes returned the wrong ticket to pair with NFC, when duplicate barcodes were in use (via data imports)
- [NG-9133] Removed action buttons form the schedule dashboard where relevant permissions are not given to the user
- [NG-9720] Removed non-functional crop action from image uploader
- [NG-9744] Removed timeslot selection when closing the items modal in Shop
- [NG-9746] Resolved an issue which prevented images from being optimised on upload
- [NG-9834] Small images no longer break image uploader
- [NG-9920] Image changes now trigger the mass update modal
- [NG-9923] Inherited schedule image now displays on shop
- [NG-9924] Updated filter to read ‘Completed after’ rather than ‘Completed at (after)
- [NG-9929] Added a new (default) filter to attendance reports to hide box office user details from the
holderandpurchaserfields when no customer name or email was provided during the transaction - [NG-9964] Carousel gallery blocks now open full screen on click
- [NG-10005] Allow for mass updates of the event thumbnail and header image
- [NG-10014] Removed the unschedule event button where the user does not have the relevant permissions
- [NG-9698] Allow showing sale item groups with no sales when grouped by sale item group on a sales report
- [NG-7195] Made Szamlazz validation error more customer friendly during self-service refunds
- [NG-8209] Improved support for copying events with sale item fees, when the target sale item, and the fee sale item are copied with different inventory options selected
- [NG-9925] Allow edit language lines permission to be assigned to roles. Ensured text manager navigation link and text manager screen respects this permission honours correctly.
- [NG-9931] Ensure files such as robots.txt and sitemap.xml etc. are accessible when waiting rooms are active
- [NG-9970] Allow the creation of multiple seating plan blocks for a single DTCM section
- [NG-9971] Added Arial unicode font to event media to ensure non-latin characters render correctly in PDFs.
- [NG-9972] Resolve a temporary issue preventing default (non-custom) reports from being downloaded.
- [NG-9807] [NG-9940] S3 Report Publishing Feature (more details above)
- [NG-9761] Ensure that schedule meta images are correctly shown, rather than incorrectly defaulting to the thumbnail image
- [NG-9886] Resolve an issue with internal hub users appearing in company user lists post suspension
- [NG-9897] Carousel and collage style gallery blocks do not show the image full screen on click
- [NG-9935] Improved keyboard interactivity during checkout
- [NG-9936] Resolve an intermittent issue with Szamlazz invoice generation
- [NG-9953] Updated the DTCM live API URL
- [NG-8843] Resolved an issue here refund protection “Protected total” was including unprotected items
- [NG-9215] Improved the display of bundle items when issuing a refund
- [NG-9348] Added undocumented company fee types to the partner API docs for company create & update endpoints
- [NG-9382] Resolved an issue where the default printable and default apple pass options would be lost when applying mass updates across related sale items
- [NG-9619] Added additional terms, privacy policy, and marketing opt in acceptance dates to the admin user reports
- [NG-9636] Forced min quantity does not submit without adjusting the qty
- [NG-9655] Add missing translation for no sale periods
- [NG-9780] Minor performance improvements to shop event search
- [NG-9787] Accessibility improvements to event listing pages
- [NG-9816] Accessibility improvements to discount code usage in shop
- [NG-9821] Accessibility improvements to labels in shop hot paths
- [NG-9838] Improved search experience for events that contain multiple two letter words
- [NG-9884] Improved accuracy of recently added Hungarian translations
- [NG-9892] Switch publish permission to edit for event dates, to prevent 403 error for some users
- [NG-9897] Resolved an issue where template block images were not viewable in full screen
- [NG-9916] Resolved an issue where refund protect would not display correctly in certain locales
- [NG-7456] Ensure that cancelled at and refunded at dates on order items are formatted to the local timezone
- [NG-7843] Force 2:1 aspect ratio for event block images
- [NG-8113] Improved context of data capture action button wording on event dashboard
- [NG-8660] Timeslot lowest/highest price range in shop now respects the hide free item toggle
- [NG-9302] Resolved an error on the data import list view when a feature flag is disabled after an import is completed that requires the feature
- [NG-9502] Added a new pair tickets permission to avoid scanning users requiring edit events permissions
- [NG-9541] Return event image over schedule image where recurring events are not grouped
- [NG-9606] Labels for some toggles in the sale item form have been reworded for improved clarity
- [NG-9611] Added the country name to delivery address fields on attendance reports
- [NG-9611] Added billing address fields to attendance reports
- [NG-9636] Enable add to basket buttons when forced min quantity is enabled
- [NG-9729] Ensured billing address remains mandatory when order billing address is deleted during checkout
- [NG-9766] Fixed a regression within the edit event page, buy now customisation panel
- [NG-9770] Improved signposting when images are inherited from thumbnails
- [NG-9771] Included bleed aspect ratio warning for image uploads
- [NG-7835] Minor query optimisations to event creation process
- [NG-8664] Up/down keys now shift focus for customer suggestions
- [NG-9197] Apply correct checkin settings when assigning a sale item to another event
- [NG-9395] Removed ’+’ from customer icon in box office, as this is not a clickable action
- [NG-9571] Increased customer search debounce slightly to reduce impact on database
- [NG-9739] Ensure refund protection isn’t offered when the child company has the protect group FF flag off, OR the basket is for items across multiple companies
- [NG-9765] Trackpad clicks now register as expected when using a windows laptop
- [NG-9626] Resolved an issue which prevented bundles being displayed correctly in box office when switching between events
- [NG-9801] Hungarian translation refinements
- [NG-8775] Removed a
language=disallow from robots.txt and prevented asset directories from being crawled
- [NG-9731] Prevent issuing new session ID’s in URLs for requests from known crawlers
Below you will find the summary notes for the 41st release of the Nuweb core platform.










Basket code index pages [NG-7239 & NG-7244]
Best available seating plan updates [NG-9118]
Release 41 included a large number of performance improvements for the ticket shop, many of which were released via patches. These improvements will benefit seated, general admission, and timed entry events.
🚀 New Features
- [NG-9488] Allow user to checkout in the shop for a basket created with the API, using a secure link returned from the API to enter checkout
- [NG-9671] Added a new global data capture setting which allows imported orders to access their tickets instantly without needing to fill out the mandatory data capture fields.
- [NG-9157] Event sale period improvements
- Take event off sale when it is not in a sale period, where sale periods have been defined
- Where the event is off sale for this reason, display this in admin

- Show on sale soon in the shop if a sale period is defined in the future for an event

- Add new event date template block that can be shown in the shop to display when the event goes on sale

🔌 Integrations
- [NG-7935] Enabled Apple Pay for Hyperpay payments
- [NG-9135] Revamped the Szamlazz Integration for Hungary
- Customers can now lookup, amend & verify tax information
- Customers can now assign different tax profiles to different purchases, where previously they would need to create a new account per tax profile.
- Admin users can manage tax profiles & re-issue szamlazz documents per order
- Box office checkouts have an improved user experience


✨ Enhancements
- [NG-8300] Hourly scheduled reports now have a start and end time, as well as date.

- [NG-8198] - Improve syncing of customer groups
- Show which groups a customer belongs to on the customer page, and allow groups to be re-synced for a customer.

- Allow a customer group to be re-synced from the customer groups page

- [NG-9037] Added a new setting for blocks & rows to allow customisation of row label positioning

🎨 User Interface (UI/UX)
Image uploads [NG-8617]- Event creation now requires only one image

- Individual images can be set via the event dashboard.

- All basket code index pages have received a UI update, moving all filters to collapsable column and displaying current filters as removable pills.

- Updated tab selection design
- When using the Best Available & General admissions tab, the seating plan has been made interactive to allow selection of areas and general admissions

🧹 Housekeeping
- [NG-7902] Sibling companies with identical tags now display the correct events count in Shop searching
- [NG-9375] Suppressed unnecessary console log on instant checkout
- [NG-9154] Embedding a listing page now uses the correct listing page URL
- [NG-8076] Venues are now sorted alphabetically when creating/editing an event
- [NG-9624] Event sales report allows grouping by venue
- [NG-9624] Event sales report allows you to select multiple venues in the venue filter
- [NG-9625] Attendance report allows for venue ID and name to be added as fields
- [NG-9625] Attendance report allows filtering by venue ID
- [NG-8663] Resolved an issue with the epos settings page showing ‘please select currency’ even after a currency has been selected.
- [NG-9615] Replaced ‘reseller’ with the actual name of the reseller, in the absorbed fees warning message.
- [NG-9714] The event filter on the order index page, and sales reports, is now sorted by start date ascending (oldest to newest).
- [NG-8775] Removed ?sid, ?currency, ?language from any indexed URLs in search engines
- [NG-8775] Set a canonical URL on all pages, respecting the primary domain, and removing any ‘superfluous’ query string parameters (such as currency or language)
- [NG-9518] Serve the event name, venue, and event date as the default event meta data
- [NG-9518] Serve the event header image as the default event meta image/social sharing image
- [NG-9454] Reduced the size of data payloads when returning lists of roles, across UI surfaces that do not display that roles abilities/permissions.
- [NG-8750] Hiding block label setting in seating plan is now respected outside of the editor as well
- [NG-9477] Back to events box office modal is now ordering events by their start date
- [NG-9507] When a row had no custom seat count set, descending seat labels were calculated incorrectly
- [NG-9032] Disabled autosave in seating plan editor while editing fields
- [NG-9519] The embed script has now been updated and all settings has been resurfaced in the code
💻 Technical
- [NG-9354] [NG-9670] [NG-9664] [NG-9631] [NG-9525] [NG-9511] [NG-9510] [NG-8574] [NG-7728] Various infrastructure upgrades & maintenance to accommodate large event on sales, bot controls & speed concerns.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-9675] Unable to add to basket in wizard mode with a seating plan and non seated items
- [NG-8290] Updated the order UI to allow setting a reservation name for box office orders, if one wasn’t provided during the sales process.
- [NG-8749] Added plural and singular translations for any ‘limiting’ discount code restrictions.
- [NG-9164] Allow order item fulfilment method to be set without changing the status. Hide refund protect fees from the fulfilment panel.
- [NG-9181] Prevent user impersonation against users disassociated from a company.
- [NG-9188] Added event sale periods to
GET /eventandGET /eventsAPI endpoints. - [NG-9233] Prevented box office users address from being suggested during checkout for a new user.
- [NG-9262] Allow for bundle pricing to be included in the price ranges of event pages.
- [NG-9297] Fixed an error when attempting to purchase account balance top-ups with refund protection enabled. This scenario now allows you to checkout, but does not allow protection.
- [NG-9335] Ensure schedules are always grouped in box office.
- [NG-9436] Sale item fees can now be created when disable processing fees is enabled.
- [NG-9460] Order index now shows fulfilment method name correctly in the displayed filters.
- [NG-9554] Added additional validation for non-zero item quantities when adding to basket.
- [NG-9555] Corrected typo in discount code eligibility settings.
- [NG-9573] Allow global reseller roles to be assigned with invoice permissions regardless of feature enablement.
- [NG-9591] Added additional usage tracking to admin event dashboard.
- [NG-9548] Added ability to unlink social logins from a customers record via admin.
- [NG-9618] Prevent 405 errors sometimes appearing when reaching the front of the waiting room.
- [NG-9657] Fixed ‘undefined’ row labels displaying when re-entering a seating plan area.
- [NG-9268] Fixed incorrect listing of events to which a ticket is assigned across a schedule
- [NG-9343, NG-9344, NG-9345] Added the ability for partners to forcefully reset terms and conditions acceptance for company users. Resets can be isolated to a single company or for all companies within the partner account.
- [NG-9549] Added a new company setting, that allows you to redirect all traffic to the primary vanity domain
- [NG-9600] Fix for live search on events to ensure empty state is displayed
- [NG-9603] Added additional decimal point precision to sales dashboard widgets
- [NG-9618] Fixed an issue causing a 405 error to be displayed to some users once they have reached the front of the queue.
- [NG-9531] Removed capacity bars from event/order fee list items.
- [NG-9527] Ensure links to cross-site redirected event URLs work in event listings
- [NG-9585] Resolved issue where light version of logo wasn’t displaying correctly in shop
- [NG-9594] Resolved a race condition that could cause items to be restocked twice on order expiry
- [NG-9127] Add the ability to manually process a transaction whilst bypassing payment status checks
- [NG-9552] Remove AMEX from the SimplePay logos
- [NG-9560] Fix a placeholder display issue in admin when there are no transactions on an order
- [NG-9499] (INTERNAL) Added the ability to copy all live seating plan URLs in hub
- [NG-8868] Performance optimisations to the shop download tickets page
- [NG-9352] Implemented wait lock for mobile within waiting rooms to prevent device from locking whilst users are waiting in the queue
- [NG-9388] Shop wide performance improvements
- [NG-9475] Further improvements to loading speed of whole seating plan in admin seating plan dashboard
- [NG-9540] Performance improvements to order expiry process
- [NG-9545] Performance optimisations during add-to-basket actions in shop
- [NG-9561] Performance optimisations when loading price band data for seat selector in shop
- [NG-9582] Performance optimisation when looking up holds in box office seat selector
- [NG-7892] [Part 1] Deployed prerequisite changes to improve load times of admin customer index, box office customer search and customer global search
- [NG-9392] Speed improvements to admin global search
- [NG-9513] Fix issue with show items with no sales being ignored on sales reports
- [NG-9538] Added
timeslot_idquery string param (as in shop) to embedded seating plans - [NG-9558] Allowed ‘in basket’ mark to be removed on embedded seating plans (more info in example integration guide)
- [NG-8012] Return venue with event data on box office ajax search
- [NG-8795] Standardised the usage of ‘add-on’ rather than ‘addon’ in English language files
- [NG-8902] Gross sales figure on the admin dashboard no longer includes the usage of account balances (top-ups or gift vouchers), as the original purchase value was included in this figure.
- [NG-9414] Added the ability to configure separate test/live credentials for the Protect Group integration.
- [NG-9442] Prevent reservations from being completed without a customer set
- [NG-9516] Add schedule dates to the events API
- [NG-9534] Significant improvement to event index page load speed when the company contains a lot of child codes setup.
- [NG-9550] Prevent iframe pages from showing an expired error when 3rd party cookies are blocked by the browser
- [NG-8851] Customer refund email will now show more appropriate messaging when refunding to balance
-
[NG-8972] Improved initialization of Google Analytics when embedded within iframe.
- However this is not a robust solution due to the nature of iframes. So we also implemented a postMessage script to allow events to be triggered from within an iframe and passed to the parent. Where the parent can then catch the postMessage and trigger events within GTM.
- [NG-9187] Allow event sale periods to be copied when copying/scheduling an event
- [NG-9270] Toggling sale item customer group restrictions now removes all customer groups from the sale item.
- [NG-9349] Internal tool to bulk import child access codes from CSV
- [NG-9360] Name suffixes are no longer removed when mass updating sale items
- [NG-9362] Fixed a regression where prices that should display excluding tax were inclusive of tax in the items modal when the all-in pricing feature is disabled
-
[NG-9374] Brought es_MX up-to-date with all translation modifications in the base es locale.
[NG-9400] Add new
seatingPlan.embedUrlproperty toGET /eventsandGET /eventAPI endpoints - [NG-9462] Admin homepage searches no longer fire immediately when typing
- [NG-9480] Fix feature flag issue with charity donation permissions
-
[NG-9501] Fixed a bug which caused addition (
+) operations in custom report headers to be treated as multiplication (*) when the report was scheduled
- [NG-9424] Increased bottom padding for all panels
- [NG-9443] Order item fees now render correctly on the order item index
- [NG-9437] Discount code dropdown cutoff in box office checkout
- [NG-9326] Suppress console error and failed rendering of order page, in certain parent/child global login situations
- [NG-9401] Added the options to mark seats in the seating plan as ‘selected’ when plans are embedded
- Performance improvements in navigation speed after viewing or interacting with seating plans in the ticket shop
- [NG-9424] All panels should now scroll correctly
- [NG-9423] Sell buttons on event index now open a new box office session
- [NG-9422] Date pickers now open on click, rather than hover
- [NG-9383] Calendar in Shop now shows June as correctly starting on Sunday
- [NG-9367] Right-to-left languages now align menu items and download buttons correctly
- [NG-9362] Tax exclusive items present correctly in the basket page
- [NG-8939] Made a number of UI improvements following the recent change to how scheduled events are grouped in box office
- [NG-9125] Redeem gift voucher in box office now closes the basket panel
- [NG-9221] Prevent event fees from contributing to event capacity limitations
- [NG-9287] Add to basket overlay does not cover screen when scrolled
- [NG-9328] Fulfilment panel now scrolls correctly
- [NG-9338] Returned custom report actions to reports index
- [NG-9370] Ensure inventory items can be added to discount codes
- [NG-9380 & NG-9378] Improved performance when compiling very large seating plan schemas
- [NG-9389] Custom sale banner now collapses even where an item has no description [NG-9408] Resolved a regression that prevented grouped sale items from displaying correctly on the basket page [NG-9415] Since we now group all scheduled events in box office, we no longer present any dates for grouped schedule items.
- [NG-9353] Removed duplicate access code queries in shop, and improved the ability for these queries to be cached
- [NG-9372] Added safety checks when resaving large whole seating plans to check if full schema json containing all area data exists to prevent overriding area data on save
- [NG-9377] Resolved a performance regression on the
/basketpage that caused increase loading times for larger baskets - [NG-9384] Removed duplicate customer group restriction queries when adding items to basket
- [NG-9296] Removed dependencies on 3rd party packages that are no longer required within our job scheduling infrastructure.
- [NG-8483] Admin view wallet transaction screen now shows the correct customer name, rather than the current user’s name
- [NG-9267] Resolved an issue where customer data imports failed to complete.
- [NG-9288] Resolved an error on seating plan import for large seating plans that were marked as small
- [NG-9289] Resolved an error when previewing event media in admin
- [NG-9290] Returned pricing card to free sale item edit pages
- [NG-9293] Menu item type radio input now responds to clicks as expected
- [NG-9295] Resolved an issue to be able to reset “First seat starts with” values on rows
Below you will find the summary notes for the 40th release of the Nuweb core platform.







Allow event sale periods to be configured for events

Event media cover sheets
Allow ticket downloads to be deferred until a set time before the event



All-in pricing





🚀 New Features
Customer wallet management in Admin- Update the customer page to show the customer’s balance, and add a topup link if the customer doesn’t currently have any wallet transactions

- Where the customer does have wallet transactions, show a view wallet link, and allow switching between currencies

- Improvements to the view wallet page to include more useful information and associated actions to topup, cashout, and adjust the wallet balance.

- Allow wallet balance to be adjusted for corrections and a reference to be recorded for the correction

- Added the ability to issue a cashout of a wallet in admin
- Allow bundle items to be added to an event, which don’t count towards capacities themselves, but can have included items that do count towards capacities

- Show bundled items alongside tickets in the shop

- Add new theme setting to set whether bundles should be displayed above or below other tickets in the items modal

- Improve the way included items are displayed to the customer in the shop

- Allow pre-sale and general sale periods to be configured for an event in admin

- Allow content blocks to only be shown in certain sale periods, or only outside of sale periods

- Introduced “cover sheets” as a new event media type allowing you to define order level printables for use when printing address labels, fulfilment sheets, or venue related information in admin.

- Allow deferred tickets downloads to be enabled at the company level in general settings, and the time before event to be set

- Where deferred downloads are enabled, show the date they can be downloaded on the download page

- Send an email to all event attendees when tickets can be download, which includes a download button

- In admin on the order page, display a warning if the tickets cannot yet be downloaded by the customer

- A new ‘all-in pricing’ feature has been added. Enabling this feature will mean that pricing within the shop is fully inclusive of all fees that will be applied to an item if it is added to the basket.
- This feature ensures further legislative compliance around pricing transparencyacross a range of territories.
- Previewing a customer basket can now be done from the event dashboard


✨ Enhancements
- [NG-8651] Added
can_be_fulfilledas a data import column when importing sale items - this is only visible on companies that have fulfilment enabled. - [NG-8651] Added
can_be_downloadedas a data import column when importing sale items. - [NG-8894] Enhancement convert rolled up fees to be inventory item based
- [NG-9044] When viewing an order placed by a box office user, it’s now possible to set the name of the reserver
- [NG-9044] When setting or changing the purchaser for a box office user, the reserver name for the order is removed
- [NG-9044] When generating event media for a box office user’s purchase, personal data fields for the box office user are no longer surfaced as event media fields
- [NG-8959] Included refund protection terms in customers account
- [NG-9205] Add specific permission for cancelling orders
- [NG-9228] Copying sale item customer group restrictions when copying or scheduling events
🎨 User Interface (UI/UX)
- [NG-8544] Introduced a company and event level sales banner that can be customised to present within the items modal

- [NG-7178] Decreased the use of primary colours in card-tabs

- [NG-8859] Orders index page now displays active filters, and has a default filter to improve loading times.

- [NG-7240] Reports index view has been updated to use a more condensed layout, and now allows for searching of custom reports

- [NG-8959] Included refund protection terms in the customer account, where refund protection is purchased during booking.
- [NG-8933] Basket panel now closes on click, rather than mouse movement.
🧹 Housekeeping
- [NG-9184] Removed gift voucher navigation when the feature is disabled
- [NG-9042] Info popovers in box office checkout no longer expand off-screen
- [NG-8800] Removed the ‘Do not create item if already exists’ toggle when assigning a sale item to a schedule
- [NG-9007] Prevent duplicate validation message appearing on ticket transferring
- [NG-9184] Disabled gift voucher navigations in admin where this feature is not enabled
- [NG-9247] Preselect the correct default currency when editing items
- [NG-9031] Admin homepage statistics now reload correctly when switching from a newly created company
- [NG-7635] Disabled gift aid settings where this feature is not enabled
- [NG-8000] Prevented a misalignment when the upload image modal on template blocks appeared behind the content
💻 Technical
- [NG-8417] Upgrades to core backend frameworks
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-8541] Display the reason for a refund transaction within the admin order detail view
- [NG-8656] Prevented season tickets being double counted when generated reserved/sold capacity bars on event index
- [NG-8345] Updated sold/reserved counts on event dashboard to include the correct count of season tickets when ‘tickets include season ticket capacity’ is enabled
- [NG-9238] [NG-9235] Fix an issue preventing seating plan revisions being applied to events
- [NG-8470] Added timeslot start + end date filters to sales & attendance reports
- [NG-8870] Integrate with Worldpay payment gateway
- [NG-9069] Added ‘future’ pre-defined date filters to event sales and attendance reports.
- [NG-9069] Added ‘tomorrow’ as a pre-defined date filter
- [NG-9073] Implement a customisable content security policy to allow control over trusted scripts
- [NG-9076] Use the Hungarian payment method name in Szamlazz invoices
- [NG-9120] Display child charity donations during checkout when purchasing child items from a parent company
- [NG-9156] [NG-9160] [NG-9155] Resolve some inconsistencies when assigning hub users to companies.
- [NG-9209] Added double submission prevention when syncing / assigning seating plans to prevent duplicate seats from being created
- [NG-8933] Basket panel now closes on click, rather than mouseover.
- [NG-8971] Allow gift vouchers to be redeemed in box office without creating a basket
- [NG-9031] Admin dashboards no longer remain on 0 sales when switching from a new company.
- [NG-9054] Removed obsolete warning messages when transferring refund protected items
- [NG-9056] Disallow balance refunds for orders belonging to box office users
- [NG-9063] Implement integrity checks for Hyperpay
- [NG-9085] Resolve an error preventing bundled items showing on the sale item form in admin
- [NG-9104] Ensure blank rows are handled correctly during data imports
- [NG-9109] (INTERNAL) Performance improvements on access control API
- [NG-8944] (INTERNAL) Resolve a performance issue when unexpected errors were triggered
- [NG-9115] (INTERNAL) Limit certain user escalation functionalities in the hub
- [NG-9094] Resolved an issue with the zone entry endpoints on the API, which were incorrectly returning ‘denied’ when re-using season ticket barcodes.
- [NG-8997] Resolved display issue with previously released ‘deeplink’ generator
- [NG-9000] The delivery step can now be skipped when completing reserve to pay later orders in box office.
- [NG-9055] Added a new
billing address linesfield to event media, allowing the billing address to be represented as an address block (separated by new lines) rather than one continuous line of text. - [NG-9055] Added delivery address fields to event media
- [NG-7935] (INTERNAL) Added the ability to enable google pay and apple pay for Hyperpay
- [NG-8947] (INTERNAL) Improved traffic monitoring tooling during system degradation
- [NG-2863] Added all header price fields to mass update checks, when customising an event page
- [NG-8673] Prevent box office users from remaining logged in to the shop when leaving box office
- [NG-8997] Hub users now have the option to generate a ‘deeplink’ to access a given page within admin
- [NG-9011] Added support for searching venue names in the shop that include certain special characters
- [NG-9038] Ordered waiting room dashboard by longest queue, then total users
- [NG-9017] Prevent data capture page from erroring when there is a large schedule
- [NG-7912] Improved presentation of validation errors encountered when sharing items within the checkout.
- [NG-8823] Updated waiting room configuration to enable across all companies.
- [NG-8861] Resolved horizontal scrolling in ticket shop on some smaller devices.
- [NG-8946] Reservation with ‘Unknown’ status can now be manually completed.
- [NG-8954 & NG-8964] Excluded deleted items from the reseller and processing fee columns on orders report.
- [NG-8962] Improvements to admin dashboard load time and responsiveness.
- [NG-8967] Resolved alignment issues when viewing some pages of the shop on mobile devices.
- [NG-8990] Resolved an issue displaying sub-schedule tabs within the event schedule dashboard.
- [NG-9002] Significant performance improvements when displaying schedule / timeslot calendar view within the shop items modal.
- [NG-8516] Ensure event listings update in realtime to reflect any recent changes in event schedule settings.
- [NG-8621] Improve caching around customer groups on event listing and show pages.
- [NG-8632] Schedules can now be removed from discount codes.
- [NG-8694] Ensure the relevant data capture is transferred when switching customer in box office checkouts
- [NG-8722] Added payment methods to the text manager, allowing custom naming of the payment options available within an account.
- [NG-8744] Date pagination in items modal now works as expected in all timezones.
- [NG-8770] The rebooking feature now uses British date format when locale is set to ‘en’.
- [NG-8838] Improved the loading speed of the rebooking page within the customer account.
- [NG-8841] Prevent
move datesallowing box office exclusive items from being selected by ticket shop users (in some situations). - [NG-8869] Removed ‘add to basket’ button until the last tab when upsell wizard is enabled.
- [NG-8906] Correct a typo on fees label.
- [NG-8927] Variable fee min/max values can now be configured for tiered sale item fees.
- [NG-8928] On sale start/end dates no longer show as changed when editing a schedules event sale item.
- [NG-8943] Migrate Stripe MOTO to using Stripe Elements for reduced compliance requirements.
- [NG-8952] Ensure HTML added to text manager for event reminder emails displays correctly.
- [NG-8965] Hot-fix to resolve access control app freezing during online zone scanning.
- [NG-8000] Fixed a compatibility issue with Safari, where a user couldn’t upload a background image to a template block.
- [NG-8433] Allow grouping by schedule on the event index.
- [NG-8730] Applied default date filters to the admin/hub dashboard sales stats for improved loading times.
- [NG-8737] Scoped items, schedules and events by company on discount code applies to.
- [NG-8754] Fixed an issue with the price input removing too many characters when backspacing.
- [NG-8765] Marketing preferences no longer take two clicks to enable.
- [NG-8766] Improved ‘link payment provider’ warning UI.
- [NG-8787] Returned purchase restrictions card to season ticket edit form.
- [NG-8803] Made radio button borders consistent.
- [NG-8830] Made small adjustments to fulfilment fee setup in admin and improved address recommendation UI in shop.
- [NG-8835] Fixed topup item UI in Shop.
- [NG-8836] Improved topup transactions display.
- [NG-8837] Order items index date filter no longer overflows filter column.
- [NG-8857] Event media index no longer show ‘-1’ items.
- [NG-8862] New event block style icons are now visible.
- [NG-8903] Fixed an issue with Google Tag Manager script which sometimes didn’t initialise.
- [NG-8920] Improve performance of applying a discount code with the new item usage limit in place.
- [NG-8938] Updated the naming of
date filtertoorder completion dateon attendance reports. - [NG-8938] Added new
event startandevent enddate filters on attendance reports.
Below you will find the summary notes for the 39th release of the Nuweb core platform.


Event reminder emails [NG-8535]




Event tracking pixels [NG-8531]



🚀 New Features
Improved sale item fees- Configure fee sale items to apply a variable, percentage based fee to orders as well as (or instead of) a fixed amount. The per item / once per order selection will determine how these variable fees are calculated.

- Configuring pricing tiers for fees now allows you to apply different fees depending on the value of an item or order.

- Introducing fee hierarchy control - this control allows you to ensure only the most specific usage of the same fee item is applied. Fees applied to specific sale items will take priority, followed by event level fees, finally applying company level order fees if none of the others exist. This is configurable at the inventory level per fee.
- Optionally restrict fee sale items to only be applied to specific item types

- Add new feature flag to enable the event reminder emails feature
- Allow event reminder emails to be configured at the company level within general settings, to dispatch for all events

- Allow event level overrides to be set for event reminder emails

- When reminder emails are enabled, send an email to each customer who has purchased tickets for an event a set time before the event is due to start
- The emails will include details of all orders that customer made for the event, and links to download the tickets for each order

- The email text can be customised per event and company wide using the text manager

🔌 Integrations
- [NG-8682] Upgraded Stripe Connect & Stripe Elements to the latest API versions.
- [NG-8360] Integrated with Nuvei payment gateway

- New feature flag allows users to enable event level tracking pixels
- By enabling this feature, users are able to configure event tracking pixels using any the following providers: Meta, Spotify, TikTok and X
- All providers support separate settings to specify events, and custom events

✨ Enhancements
- [NG-8546] Allow maximum item uses per discount code to be set
- [NG-7925] Surfaced
this seat is accessibleandthis seat is restricted viewas fields on event media
- [NG-7933] Add kiosk mode feature flag, to allow kiosk pricing to be hidden where not relevant to a company
- [NG-8545] Allow discount codes to be limited to a set number of uses per order
- [NG-8165] Access control now uses the company default headers instead of bokeh images. This change also impacts the API.
- [NG-8145] Added a ‘demo mode’ filter on event index of parent companies, which now defaults to only show live child company events
- [NG-8705] Previously the usage of the cookiesAccepted query string parameter has been limited to when the cookie banner was turned off, now it will be accepted regardless
- [NG-8644] Admin global search will now include named orders and item holder name
- [NG-8543] Allow child ticket shop to be disabled using a limitation on child companies with global login
- [NG-7558 & NG-8679] Box office event filters now allow you to include past events
🎨 User Interface (UI/UX)
- [NG-8147] When managing a parent company, if a page or item belongs to one of the child company, its name will be displayed on given pages. Pages include: events, venues, orders, reservations, customers, discount codes, access codes and inventories at the moment.

- [NG-8146] A new setting has been added to event blocks under Site settings, which allows parent companies to display the event’s company name or logo

- [NG-7972] Text block template block has been added under our Basic category

- [NG-8776] Basket panel now opens on click, rather than mouseover.
🧹 Housekeeping
- [NG-8397] Re-ordered report field groups to ensure most common/frequently used remain at the top of the list, and less common/edge case fields sink to the bottom.
- [NG-8397] Added a number of existing fields to field groups to avoid the majority of fields appearing under ‘Other’
- [NG-8678] Renamed a number of order report fields to better reflect what they display
- [NG-8678] Changed the default ordering of fields on sales and order reports, to aid with the understanding of the monetary breakdown (gross values on the left, net values on the right)
- [NG-7158] The old
cashlessproperties from the/configendpoint on the API have now been removed. ==The old cashless app will no longer function.== - [NG-8678] Added a new
order total netfield to order reports, which shows the value oftotal - refunds - [NG-8742] Fixed wording of item restriction text to use the term
itemsinstead oftickets. - [NG-8666] Added compatibility for seat selector when using the Move dates feature for wider screens when the cursor selection was misaligned from the seating plan
- [NG-8468] Solved an issue when using the tabbed table template block, and cells in the tables don’t update when switching between tabs
- [NG-8833] Card network icons now visible when using offline card payment method.
- [NG-8711] Default company tax band can now be set to null.
- [NG-8762] Reseller default role panel no longer turns blank after submit.
- [NG-8671] Fixed pagination on report export index page.
🧑💻 API
Changes to the API have been documented in the changelog on the API documentation homepage.- [NG-6578] Event seating plan dashboard initial page load optimisation
- [NG-8586] Default
ticket_capacity_to_include_season_ticketsto true on event creation, rather than false; and allow season ticket capacity values to influence ticket capacities on schedule-less events - [NG-8610] Updates to Apple pay certificate file validation
- [NG-8627] Szamlazz cancellation documents will now be sent to the original customer by default when customer details are updated. The customer will receive a new copy of the Szamlazz document
- [NG-8674] Added safeguard to navigation permission checks to avoid potential 500 error during new code deployments
- [NG-8652] Added an internal API endpoint for app version checks
- [NG-8657] Removed the restriction to only show season tickets when setting the ‘relationship to event’ filter as ‘show items that can attend’ within the attendance report
- [NG-8713] Resolve an error when trying to export Szamlazz documents for order that contain a free item
- [NG-8721] Seating plan query optimisation in shop when loading available areas per price band
- [NG-6982] Ensure sharing step doesn’t need to be submitted twice when ticket naming is mandatory
- [NG-8192] Allowed season tickets to be reserved when their space is reserved on another unrelated, unscheduled event that shares the same seating plan.
- [NG-8348] Exclude add-ons and bundled items from max ticket basket capacity that is set on an event
- [NG-8378] Prevent customer modification of name + email during checkout, to avoid accidentally transferring entire accounts to other customers
- [NG-8422] Skip payment gateway is no longer the default for completing reservations
- [NG-8512] Customised text now overrides login ‘Buy now’ button text
- [NG-8562] Included a status filter on the event index page
- [NG-8575] Simplified the process of completing reservations and fixed Attendance page not rendering with incomplete, instant access order items
- [NG-8593] Event images used correctly when theme settings override item images
- [NG-8607 & NG-8616 & NG-8639] Selecting a customer from the suggestions now consistently fires the click event
- [NG-8610] Implemented tooling to validate domains for Apple Pay
- [NG-8628] Ensure date filtering works correctly on “Must be purchased with” sale item search
- [NG-8643] Updated permissions required to allow users to manage global data capture questions
- [NG-8647] Performance improvements to hub global search
- [NG-8662] Seating plan now renders correctly even where no price bands are set
- [NG-7260] Added Malay as a language to the system, with a full suite of initial translations.
- [NG-7671] Fixed an issue which prevents billing address preview from displaying on the payment form, if the billing address has a country that isn’t currently available in that company.
- [NG-8159] Improved how event blocks group handpicked events
- [NG-8248] Respect always show description flag on charity donations
- [NG-8303] Ensure parent events cannot be added to customer groups created in child companies
- [NG-8346] Added a new
orders_report_urlfield to the invoices report in hub, allowing direct access to admin reports for a specific invoice. - [NG-8557] Removed duplicated date labels displaying against recent orders in my account
- [NG-8600] Improved labelling of the customer name/email lookup field in box office
- [NG-8602] Improved GA4 tracking when using GTM
- [NG-8619] Use Item permission check for sale items in global search
- [NG-8559] Updated ordering of options in language selectors to show A-Z
- [NG-8451] English has been renamed to
English (UK)to better reflect the fact there are multiple variants of English within the system. - [NG-8464] Resolve a 403 Forbidden error with certain permission configurations, when editing transaction level notes.
- [NG-8338] Resolved an issue on some pages where index page tabs were being displayed on detail pages
- [NG-8576] Improved speed of seating plan summary allocation report when displaying hold information
- [NG-6559] Updated the list of permitted currencies for Klarna via Stripe to now include
AUD, CAD, CHF, CZK, DKK, NOK, NZD, PLN, and SEKin addition to the already presentGBP, EUR, USD. - [NG-7958] Improved the experience of setting customer details on a box office order.
- [NG-8475] Resolved an issue where non-timeslotted sale items were not rending correctly in admin edit form when selected as ‘must be purchase with’
- [NG-8506] Prevent negative values being used as the number of events to show in event blocks
- [NG-8578] Crop article thumbnails to a dimension that scales to the size of the blocks, to prevent digital artwork looking pixelated from using the wrong scale. ==Any existing thumbnails will not be regenerated - any impacted users should re-upload their original high quality images.==
- [NG-8581] Update to guest list sharing options
- [NG-8590] Prevented unnecessary data being requested from the Google Places API
- [NG-7541] Resolved an intermittent pagination related error in a small number of API calls
- [NG-8552] Prevent exception when calling API with X-NU-COMPANY-ID header + no auth user
Below you will find the summary notes for the 38th release of the Nuweb core platform.
🔌 Integrations
- Our direct integration with the Department of Economy and Tourism (DET) in Dubai is now live, with our production servers whitelisted for access to the API [Read more]
✨ Enhancements
- [NG-7749] Created net and gross variations of the new ‘sale item fees’ report columns
- [NG-8362] Improve filenames of exported report files to include report title
- [NG-8220] Feedback message for adding to customer groups
- [NG-7780] Allow charity donations to be purchased alongside items that require approval
- [NG-7993] Stop charity donations step showing in box office instant checkout
- [NG-8120] Allow configuration of the ‘season ticket’ badge in the shop, via the text manager.
- [NG-8148] Rename ‘was pricing’ to ‘guide price’.
- [NG-8434] Removed ‘at’ prepositions in date strings (e.g “Created at Mon 21st Feb 2024”) in favour of more natural language.
- [NG-8144] Improved the wording of sorting options, to remove unclear “DESC” and “ASC” suffixes in favour of more natural language.
🎨 User Interface (UI/UX)
- [NG-8128] Streamlined event media creation process to match other parts of the system

- [NG-8344] Updated sales dashboards by removing some visual noise, and unifying labels across the system
🧹 Housekeeping
- [NG-8412] Ensure box office permissions are company scoped
- [NG-8082] Using the lasso tool in manage events will exclude deleted seats from selection
- [NG-8230] Improved time slot filtering in shop by unifying time formatting, applying time filtering to all schedules in modal
- [NG-8205] Yes/No Data capture field values getting stuck in multi event purchase process has been rectified
- [NG-8307] When adding objects to a seating plan area, they will get added to the top left of the area’s positioning, instead of the viewport + rendering fixes
- [NG-8347] When using auto selecting highest / lowest ticket on seating plans, if there are more than 1 tickets sharing the same price, select the first in their sorted order
- [NG-8519] Fixed visual glitch in box office, when a general admission was added to basket, their current stock displayed incorrectly in seating plan
- [NG-8527] Box office event listing capacity bar reactivity fix
- [NG-6654] Flag payment status as ‘Unknown’ where Barclays ePDQ reports duplicate order IDs, preventing further payment processing
- [NG-8504] Corrected the country label for Taiwan (across all languages)

