Planned release (Tuesday 3rd March)

JRNI Updated by JRNI

Events

Guest List Feature
  • Full guest functionality has been introduced across the platform, enabling invitation flows for events, bulk upload of guests via the import tool, and guest support in the core API. This provides a seamless way to manage invited attendees for events, from individual invitations through to large-scale guest list imports.

Event Waitlist

  • Support for handling waitlist quantities has been added to events, allowing better management of oversubscribed events. Administrators can now track and control how many attendees are on the waitlist for a given event.

Events API Ordering & Filtering

  • The public developer API has been enhanced to support ordering and filtering events by time. A new start_date filter has also been added, making it straightforward to query for past or upcoming events. This is particularly useful for developers building custom event listing pages or integrations.

Security & Administration

Security Center 
  • A new Security Center has been added to Studio, providing centralised management of rate limiting controls, OTP (One-Time Password) configuration, and IP whitelisting. These settings are fully backed by API integration, giving administrators a single place to manage platform security policies.

OTP Verification

  • One-Time Password verification has been implemented across booking journeys. This includes OTP UI and API integration in the Customer Widget as well as OTP verification support in the Customer Journey. End users will be prompted to verify their identity via OTP where configured, adding an extra layer of security to the booking process.

Customer Journey

Rate Limit Checkout Alert

  • A new alert message is now displayed to users when a checkout attempt is rate limited. This improves the end-user experience during high-traffic periods by clearly communicating why a booking attempt could not be completed, rather than showing a generic error.

Service Skip Evaluation

  • The Customer Journey now fetches only a single page of services when evaluating whether to skip the services step. This targeted optimisation reduces unnecessary data loading and improves page transition performance for customers.

Cache Policy Update

  • The cache policy in the customer booking widget has been updated for improved performance, ensuring that frequently accessed resources load faster for end users.

Platform API

Coupon API Optimisation

  • The coupon list API has been optimised by excluding unnecessary association fields, improving response times and payload sizes. Additionally, a separate disabled filter has been introduced for coupons, and the coupon URL is now included in Company Roar for easier access.

Bug Fixes

Platform API

  • Email totals: Fixed an issue where email totals were not handled correctly, causing incorrect amounts in notification emails.
  • Expired auth tokens: Resolved a problem where BBApp#auth_token could fail when tokens expired during a session.
  • Queuing service assignment: Fixed service assignment failing for queuing services when being assigned to a queue.
  • Service copy down: Resolved an issue where service copy down cascaded to unselected child companies, preventing unintended configuration changes.
  • Coupon lookup performance: Improved performance of case-insensitive coupon lookups to resolve slow query times.
  • Recurring event dates: Fixed an issue where recurring event date changes were permitted when bookings were present, which could cause data inconsistencies.
  • Zero duration validation: Resolved zero duration validation to only apply to blocked slots, allowing legitimate blocked bookings with zero duration.
  • Pool capacity limits: Fixed Price::Pool min/max spaces validations to correctly enforce capacity limits.
  • Multi-day events: Fixed the add_item operation for multi-day events that was failing under certain conditions.
  • Recurring event date ranges: Resolved an issue where recurring event instances were not properly recreated after modifications.
  • Slots table index: Added a missing recurring_block_id index to the slots table for improved query performance.
  • Date-time validation: Fixed date-time validation checks to prevent invalid scheduling entries.
  • Elasticsearch mappings: Ensured Elasticsearch uses defined mappings when creating indices, preventing mapping conflicts.
  • Shard settings validation: Fixed Shard Setting type validation to prevent invalid default_locale values from being saved.
  • OTP basket validation: Removed empty basket validation from the OTP API that was incorrectly blocking legitimate requests.
  • Error messages: Fixed error message content and translation for improved user-facing error clarity.
Studio
  • All-day block times: Fixed external all-day blocks displaying incorrect times due to timezone handling issues.
  • Event booking update buttons: Resolved booking update buttons incorrectly appearing for event bookings where updates should not be allowed.
  • Google Maps encoding: Fixed Google Maps API address page encoding issue where special characters in addresses caused lookup failures.
  • Multi-attendee updates: Resolved a glitch when updating multiple event attendees simultaneously that could cause UI inconsistencies.
Customer Journey
  • Appointment method translation: Fixed method of appointment translation handling to ensure correct localisation across languages.
  • Event service regression: Resolved an events.service.ts application failure in the event journey caused by a code regression.

Event Journey
  • Negative min_advance registration: Fixed registration flow handling for events with negative min_advance time values, ensuring users can register for events that allow last-minute sign-ups.

How did we do?

(December - January 2026)

Contact