General Release Notes - R2025.01

Written By Natalia Povrozniak (Administrator)

Updated at June 12th, 2025

Here's what we accomplished for you with this release 2025.01.

Flex

Release Notes - Flex - R2025.01

⚠️ Draft. This content is being updated.

 

What's new

  • Users with corresponding permission can create a space booking that allows conducting ticketed events, and then create an event in this space within the booked time period. Additionally, if permissions allow, they can create a company-wide announcement about the event.
  • Quick links, social announcements, events on the home page.
  • Other spaces are suggested if search didn’t show any results: on different floor, other space types, lower capacity.
  • Space can be favourited after opening the space information popup.
  • Implementation of Visitor Type workflows for future versions of IBSS Guest. All new fields relating to visitor type are optional.

What's changed

  • Updated logon process to HUB. Only email address is required now.
  • My Notifications page has now Your Notifications section for system notifications and a Building Announcements section for news and events.
  • When creating a booking for a time slot that isn’t allowed for any booking policy, time is automatically adjusted to the allowed times, user gets notification about adjusted time and can decide if the adjustment is acceptable.
  • When creating or editing a booking, building name is now shown on the space card.
  • When creating a series booking, the individual errors will be displayed for the bookings that were not made.
  • Adjusted filter options on the My Booking page.
  • Cancelled and auto-cancelled bookings are filtered out on the Bookings for Others page.
  • Improved indication in the catering order of a menu item that becomes unavailable.
  • Space search page has a new Home button to clear all filter selections and default to user’s preferences.
  • When creating a visitor record only one – first or last - name is required.
  • When creating a new visitor record, current user is automatically a host.

What's fixed

  • Cancel button on the Bookings for Others page works as expected.
  • UI labels and pages layout have been corrected in multiple places of the app.
  • Several WCAG accessibility issues have been fixed too.
  • The Delegate Bookings page is hidden when the user isn't a delegate for anyone.
  • The check-in button on the visit edit page is working as expected. It only becomes enabled when the current time is within or after the early check-in threshold defined by the Vis_Arvl_Wndw_Mins building parameter, and the visit status is set to Approved.
  • The User Preferences settings page visibility is correctly controlled by Flex.UserPreferences.AccountSettings permission.
  • On the My Bookings page, the pencil button in the Action column is displayed for users with the correct level of CRUD permissions for Bookings.
  • When a user who has a floor preference set to a floor that has been disabled, the system changes the floor selector to Any.
  • The Tasks Raised page under My Tasks is showing appropriate data instead of assigned tasks.
  • When opening a space details page from the search results on the Simple Booking page, the API calls Get Spaces Info, Get Space By Id, Spaces Search are now using the V2 Spaces endpoints.
  • When booking a linked spaces that have layout options, setup and reset slots are set according to layout values. If the linked spaces do not have the layout options, the setup and reset times are set according to the booking policy.
  • On the Advanced Booking page, the character limit for a booking name is now set to 50 characters.
  • Users cannot cancel a booking that has been checked in. They can check out only.
  • Filtering tasks by Last Month is fixed.
  • Auto check in is corrected for recurring bookings that were made by a primary user for their delegate.
  • Picking a space for a recurring booking works with no issues now.
  • The My Visits page shows all visits across all available buildings where the current user is the host.
  • When creating a visitor record, building selector is enabled for organisations that have multiple buildings.
 
 

OneLens 360

Release Notes - OneLens 360 - R2025.01

⚠️ Draft. This content is being updated.

 

What's new

  • Visitor Type field when creating or managing a visitor, ability to answer visitor type questions for the visitor when checking them in to the building.
  • Catering Order page now has System Filter options.
  • New Events page to manage internal, external, or mixed events and create new ones.
  • The data from the Visitor List page can be exported in the background and the file will be sent at the user's email address.

What's changed

  • Home page layout changes to include news, events, and quick links.
  • Cost Codes are displayed on the catering order slide out panel and on the catering order edit page.
  • Selected filters are retained when navigating across most of the pages.
  • Announcement creation pages use new text editor.
  • Updated layout of the announcements for Inspire page.
  • On the Schedule View page, host is added to the booking calendar card.
  • Added view switchers with tooltips on the following pages: Booking List, Catering Orders, Pantry Timeline.
  • Table columns on the Visitor Dashboard page have been adjusted: Exp. column is now called Expected Arrival, and we've added Expected Departure and Space columns.
  • Order Policy is now a new option in the filter drop down list on the Order Policy page.

What's fixed

  • Adjusted action buttons on the Bookings List page to properly reflect user's permissions and dependence on the booking status.
  • Task action buttons are now disabled if the task is resolved.
  • Catering Policy create page time fields default to building working hours .
  • Catering Menu create page time fields default to current minute.
  • Saving a new catering menu is enabled only after all mandatory fields are filled in.
  • Catering Pantry timeline now defaults to building working hours and shows current time.
  • Catering Supplier create or edit page checks email address format.
  • The visibility of the Catering Order edit button is controlled only by the DataModel.CateringOrder.Update permission.
  • The Visitor details page now includes date and time stamp when the status was changed.
  • Space Type and Work Type filters on the Schedule View page work fine now.
  • The Tasks page is showing tasks in all states instead of only assigned tasks.
  • The Booking_Early_Checkin value defines when the Check in button will become active on the Booking List page and one the Booking details page.
  • Total price of the catering order is set to use the retail price of each item.
  • Cancelled catering orders are not included in the total price for the combined catering order that includes multiple individual ones.
  • A cancelled catering order cannot be edited any more.
  • When creating a catering menu item, the Save button becomes active only after mandatory fields are filled in. 
  • Creating a new set of linked spaces and layouts sets proper Space_Setup field values for these spaces for them to be returned during space search for linked spaces. The corresponding setup and reset slots have the Space_Setup field value set to 1.
  • Action button is back on the Announcements list page.
  • Only users with the API.Catering.Approve permission can approve catering orders.
  • UI labels and pages layout have been corrected in multiple places of the app.
  • Several WCAG accessibility issues have been fixed too.

Known issues

  • On the Space Layouts page, the table is paginated as all other tables in the product with the maximum of 100 spaces returned per page. However, additional rows will be added at the bottom of the table if those returned spaces have their layout or linked spaces combinations.
  • When editing an event, the Invite Permission field becomes unavailable for updates. If the event permission must change, the user is required to create a new event with the correct permission.
  • External ticketed event doesn't limit adding internal attendees yet.
  • Column sort options have been disabled in the user interface. The ability to sort is expected to be added directly to the API in an upcoming release.
 
 

Admin Portal

Release Notes - Admin Portal - R2025.01

⚠️ Draft. This content is being updated.

 

What's new

  • Adding and editing Quick links for the organisation on the Signposts page in the Manage section.
  • Adding and editing equipment stores and equipment items for the organisation, assigning spaces that will use each item.
  • Page to define and manage visitor types.
  • Catering is added as an option when creating a System Filter.

What's fixed

  • Fixed enabling an existing notification under Admin Portal > Setup > Organisation > Notification Setup.
  • Fixed time format for the Exclusion Date format when creating or editing a booking policy.
  • UI labels and pages layout have been corrected in multiple places of the app.
  • The Regions page under Admin Portal > Setup > Organisation now uses /v2/configuration/nodes API.
  • The Cost Codes page under Admin Portal > Manage > Cost Codes is controlled by the ADMINPORTAL.Manage.CostCodes permission.
  • Users with the DATAMODEL.Spaces.Update permission can set the status for the space under Admin Portal > Manage > Spaces.
  • When creating a filter under Admin Portal > Manage > System Filters, the link to the help article has been fixed on Creating queries for system filters.
  • When editing a space record under Admin Portal > Manage > Spaces, the space details page now calls IBSS API GET /v2/roles endpoint to retrieve roles.
  • Removed the Default option from the System Filters Status dropdown.
  • Fixed onboarding flow on first login for user who have access only to the Admin Portal app.
 
 

Core & API

Release Notes - Core & API - R2025.01

⚠️ Draft. This content is being updated.

 

 

What's new

  • Created new endpoints to support new features and adjusted the existing ones:
    • Visitor Type:
      • Support of the new field in POST/PUT/PATCH for visits and bookings
      • GET /v2/{nodeid}/visitor-types
      • POST /v2/{nodeid}/visitor-types
      • GET /v2/{nodeid}/visitor-types/{id} 
      • DELETE /v2/{nodeid}/visitor-types/{id} 
      • PUT /v2/{nodeid}/visitor-types/{id}
    • Equipment:
      • PUT /v2/{nodeid}/equipment
      • PATCH /v2/{nodeid}/Equipment/{equipid}/enable
      • PATCH /v2/{nodeid}/Equipment/{equipid}/disable
      • DELETE /v2/{nodeid}/Equipment/{equipid}
      • GET /v2/{nodeid}/Equipment
      • POST /v2/{nodeid}/Equipment
      • GET /v2/{nodeid}/Equipment/{equipid}
      • Updated the APIs & DataModel to map equipment stores to spaces and equipment
      • GET/POST/DELETE /v2/{nodeid}/EquipmentStore/{storeid}/space
      • GET/POST/DELETE /v2/{nodeid}/EquipmentStore
      • Assigning equipment raises move tasks
    • Shortcuts and Quicklinks
      • PATCH v2/shortcuts/{nodeid}/enable
      • PATCH v2/shortcuts/{nodeid}/disable
      • PUT /v2/{nodeid}/Shortcuts/{id}
      • Modified POST endpoint /v2/{nodeid}/Shortcuts to include new fields
      • Modify GET /v2/{nodeid}/Shortcuts/{id} to include new fields
      • Deprecated V1 BuildingKPIs endpoints
    • V2 Booking Parties:
      • PATCH /v2/{nodeid}/bookingparties/{recordid}
      • DELETE /v2/{nodeid}/bookingparties/{recordid}
      • POST /v2/{nodeid}/bookingparties/import
      • POST /v2/{nodeid}/bookingparties/download
      • PATCH /v2/{nodeid}/bookingparties/delete
    • V2 visits updates:
      • POST v2/{nodeid}/visits/import
      • GET v2/{nodeid}/visits/download
      • Removed usage and security references to DATAMODEL.VISITORS for only VISITS to be used
    • Ticketed Events:
      • GET /v2/{nodeid}/ticketedevents
      • POST /v2/{nodeid}/ticketedevents
      • GET /v2/{nodeid}/ticketedevents/{eventId}
      • DELETE /v2/{nodeid}/ticketedevents/{eventId}
      • PUT /v2/{nodeid}/ticketedevents/{eventId}
      • PATCH /v2/{nodeid}/ticketedevents/cancel 
      • Changes in the GET /v2/{nodeid}/booking endpoint to include IsParticipant_On_WaitingList flag for each attendee and the TicketedEventId on the booking
      • Bookings to include TicketedEventId
      • Bulk upload of participants
      • User notifications and reminders
    • Announcements:
      • GET /v2/{nodeid}/announcements/GetActiveNotifications
      • PUT /v2/{nodeid}/announcements/{id}
      • DELETE /v2/{nodeid}/announcements/{id}
      • POST /v2/{nodeid}/announcements
      • GET/v2/{nodeid}/announcements
      • GET/v2/{nodeid}/announcements/{id}
    • User notifications:
      • GET /v2/{nodeid}/user-notifications
      • GET /v2/{nodeid}/user-notifications/{id}
      • PATCH /v2/{nodeid}/user-notifications/{id}
  • Task v2 controller for upcoming functionality with 3rd party systems
  • Added a new field Meta_Serv_Reqs_Event for Spaces
  • Implemented further privacy rules to comply with GDPR requirements to conceal personal data in the following endpoints:
    • GET /v2/{nodeid}/bookingparties
    • GET /v2/{nodeid}/bookingparties/{recordid}
    • GET /v2/{nodeid}/bookings/historical
    • GET /v2/{nodeid}/bookings/my-bookings
    • GET /v2/{nodeid}/bookings/my-primaries-bookings
    • GET /v2/{nodeid}/bookings/booking-series/{seriesid}
    • GET /v2/{nodeid}/bookings
    • GET /v2/{nodeid}/bookings/{bookingid}
    • GET /v2/{nodeid}/bookings/download
    • GET /v2/{nodeid}/spaces/{id}/bookings-on-this-day
  • Added the following permissions to the list:
    • API.Visits.Import
    • UserNotifications
    • ONELENS360.VisitorAnalytics.Overview
    • ONELENS360.OperationalServices.VisitorPass
    • API.Equipment.V2
    • VisitorType
    • Ticketed events:
      • API.TicketedEvents.Enable with APPLIESTO
      • API.TicketedEvents.Disable with APPLIESTO
      • FLEX.Events.View
      • ONELENS.OperationalServices.Events with APPLIESTO

What's changed

  • Additional RFC error responses added.
  • Extended Visitor Apple Wallet pass to also work with the Visit_Pacs_Id field.
  • Updated task notification mechanism for notifications to be generated in IBSS API.
  • Updated caching mechanism for IBSS API.
  • Space configuration file can include up to 100 new spaces.
  • Optimised API data base calls of building and user notifications.
  • Set a default language for the cases when the language field is not provided in the header.
  • Cancelling bookings for others in a 3rd party system provides the user details in the call to the microservice.
  • We’ve optimised updating User Preferences for the scenarios when there are multiple buildings in the organisation.
  • Added a parameter to enable automatic approvals of catering orders in an organisation.
  • Made updates to API to allow creating System Filters for catering orders.
  • Attempting to change the node ID of a catering order will now return a 400 bad request error.
  • Updated following permissions:
    • ADMINPORTAL.Manage.CostCodes
    • ADMINPORTAL.Manage.BookingPolicies

What's fixed

Bookings

  • A booking on behalf of the user who has an apostrophe in their email address can be now created without an issue and the Booking Party Owner record is created with the correct Booking Party name now.
  • POST v2/{nodeid}/bookingparties now updates the Booking_Party_Count field correctly.
  • For the updated booking that was made on behalf of someone else with setup and reset slots around it, booking owner is correctly updated too as well as the Floor Manager is assigned to the setup and reset slots in the record.
  • When changing the floor or a building for a booking, new space validations happen properly before the previous booking is cancelled and the update is confirmed.
  • The Booking_IsApproved field is now properly saved in booking parties when bookings are made or amended.
  • Linked space bookings:
    • When creating a linked space booking, all space names are set against all booking parties.
    • Delegates can book linked spaces for their primaries, and the BookingOnBehalfOf permission is not required.
    • Space search returns spaces according to all defined search criteria. In the scenario of searching for a space with a layout option, linked spaces are returned too as they have layout options as well.
    • Linked space bookings are successfully created if the current user or the OnBehalfOf user have the necessary permission, and the Floor Manager is set.
  • When using the POST /v2/{nodeid}/bookings endpoint to create a booking, the Booking_Owner field is removed as it returns a null value.
  • Bookings controller is using the OnBehalfOf user's permissions instead of the permissions of the current user.
  • Fixed consistency of populating Booking_Owner_Name in the booking records.
  • When using Use GET /v2/{nodeid}/bookingparties and the user has the preference to not sharing their booking data, Booking_Participant_Email & Booking_Participant_Name is not masked for this current user, their delegates, and for the user with elevated permissions. Booking_Participant_Email & Booking_Participant_Name is then masked for everyone else.
  • When creating single and series of bookings, passing the correct Booking_AutoCheckIn value will correctly enable the booking for AutoCheckIn.
  • Updating a space booking with the space of the same type on a different floor or in another building is successful and doesn’t clash with the original booking.
  • If the final booking in a series fails, the other bookings are created and so are their booking parties as expected.
  • Email is now validated on import of booking parties by booking ID.

Catering

  • Node ID validation is made on CateringMenu API calls.
  • When trying to delete a CateringMenuItem and entering an invalid Node ID, the catering menu item is not deleted.
  • When trying to delete a CaterinOrderPolicy and entering an invalid Node ID, the space is not deleted.
  • When using the Use PATCH /v2/{nodeid}/catering-orders/{orderid} to update the catering order record, the ModifiedBy Field is updated to email of the user that is currently updating the record.
  • When amending a booking with the cancelled catering order, the catering order remains in the Cancelled state.

Visits

  • GET /v2/{nodeid}/visits endpoint with filter Visit_Host_Email is case sensitive now.
  • Visitor name is properly trimmed if only one name is indicated.
  • When a visitor is being created or updated (POST/PUT/PATCH/Import), the email provided as the Visit_Host_Email is checked if it’s a valid user in the system.
  • If there's a white space in the Building Occupier field in the Node record, the Google Wallet Pass now generates correctly.
  • When a booking is updated to a booking on behalf of a visitor, the visitor record is now correctly created.
  • Updating a booking that has a visitor included, updates the visitor record accordingly.
  • When cancelling a booking with more than 50 visitors included, all visitors are cancelled too.
  • When creating a Booking with 2 visitors with the same email, the API now only makes 1 booking party record for that email, as well as 1 visit record. As a result, there are 2 party records including the owner and the 1 visit record for the visitor of the booking.

Spaces and Buildings

  • Reason for excluded dates in the booking policy is now saved in the JSON fragment.
  • When trying to delete a SpacesConfig and entering an invalid Node ID, the space is not deleted.
  • Enabling or disabling buildings via the API updates the SQL database and the nodes table as expected.
  • When importing Spaces configuration, the following fields are populated correctly now: Space_Status, Space_Status_Text, Space_IsAvailable.
  • When importing Spaces configuration, the existing records are updated correctly.

Cost Codes

  • Invalid cost codes are ignored during AAD sync in favour of the valid ones and the allocation is assigned only to the valid cost codes.
  • A series of recurring bookings has correctly allocated OnBehalfOf cost codes.
  • During booking on behalf of another user and when selecting to use their default cost codes, those cost codes are correctly assigned.

Misc.

  • Task Category name cannot be updated using API.
  • Export request are now being received via email.
  • Creating a filter via API requires the Building_Bypass mandatory field to be filled.
  • Deleting a filter via API fails if a wrong Node ID indicated.
  • Adjusted the GET /v2/roles endpoint to use proper fields and return all available roles:
    • Native groups for native users.
    • Native groups and groups within the AAD that the user belongs to for AAD users.

Known issue

  • Visitor Type name should not include an apostrophe.