We added a new occupancy component that displays the occupancy for your records! Additionally, we now support fixed pricing options.
We included some bug fixes and some minor improvements as part of this release as well.
Fixed pricing option
To allow extra and easier pricing options, we have added an option to add a fixed price to a booking besides the already existing pricing options. A fixed price stays the same, Independent of the length of the booking.
In this version we have added insights into your occupancy. We show you the occupancy of your dimension records (Resources, Staff, etc) based on available time versus existing reservations in Booker25.
Custom Form Logic improvement We introduced some improvements in Custom Form Logic. We now show you that custom form logic is still running by showing a loading indicator. Next to this we now allow a more convenient way to add icons to the search results which are shown based on custom form logic.
Booker25 upgrades would sometimes fail due to a missing field in the configuration. We fixed that in this release so it no longer references that field
We made sure that if a user does not have write permissions to the Conflict object, the conflicts are now handled as hard conflicts.
If you are upgrading, do the following to get the most out of this release. If you want to use the occupancy component, you need to add it to the dimension record pages.
If you run into an installation failed error it might be necessary to change the “IS Installing” custom setting to true:
- Go to Setup - Search for Custom Settings - Click Manage next to System Setting - Change the value to true.
If you don’t have that setting, follow the following steps: - Go to SetupSearch for Custom Settings - Click Manage next to System Setting - Click NewName the record IS_INSTALLING, and for Boolean Value true
July 15, 2022
In this release we introduce two major new features, next to that we solve a number of bugs and we have focused on improving the overall experience of the app.Multi-dimensional availability now displays the dependencies in the multi-calendar. Making it clear when you can make a reservation while there is a dependency on another dimension (e.g. staff working in a specific location for example).And also we introduce custom conflict rules, this allows you to conflict reservations based on your own fields. For example, if your business rule specifies that in a student room a single gender is allowed you can see if the reservation that is being created fits that criteria.
The recently released “Multi-dimensional availabilities” will now be displayed in a way that makes it clearly distinguishable compared to normal availabilities in the multi-calendar.
We replaced the old Visualforce calendars with the new LWC calendars for fresh installs.
We introduced a new way in which you can filter for dimension records that have reservations. We now give you the option to show only the records that actually have reservation that apply to your filter.
In this version we introduce a new conflict checking option. With this you can create your own “reflective criterias” which allows you to specify when something should (or should not conflict). For example in the screenshot below we can make sure that only two reservations with the same Gender__c value are allowed in the same resource.
Added the ability to use the readOnly and hiddenReservationFilters on the mobile calendar when wrapping it.
We make sure any error messages are now clearly displayed on the page or in the browser's-console instead of suppressing them from the page.
Fixed an issue that could cause an error toast notification to say Unknown error instead of the actual error message.
Enabling live-sync for google/outlook caused the sync to not be scheduled automatically. This has been fixed.
For the Custom Form Logic the Test_FormHelper now allows you to better test the interaction with specific related list items.
For the Custom Form Logic the Test_FormHelper now allows you to run the before save action.
July 7, 2022
This release has major improvements for the use of Booker25 in the Salesforce Mobile app. We also made the Scheduler generally available, you no longer need to contact us to use this feature.
Added a mobile calendar. This calendar will show a single day view that is optimised to be used in the Salesforce mobile app. With improved usability of the reservation form as well.
The Searchresult class in the custom form now exposes the id and label properties
Added the ability to use values like TODAY and YESTERDAY in the filters on the calendar if they are set to date or datetime fields. Click the use relative date link to switch to relative date mode in the calendar filters.
Scheduler is made generally available.
Fixed a bug that caused certain updates triggered by the custom form logic to not update on the form correctly.
Removed the B25__Outlook_ICalUId__c field this field was no longer used by the outlook sync and would cause issues on some orgs.
Fixed a bug that caused an error when a dimension junction had double booking checking set to none.
Fixed a bug where the /availability rest endpoint didn't respect the allow double booking field on the dimension sObject.
April 4, 2022
This release is packed with a lot of improvements that help you to maintain Booker25 better. We have added UI for admins so they can easily create hovers and titles for calendars, and we have added a wizard that allows you to set up new calendars in a breeze.
We have added a component for the reservation titles. This component allows for simple editing of the titles shown on calendars.
We also added an editor component for the hovers. This component allows you to edit all the relevant information for the hovers. It also gives you a live preview of the hover.
The new "Calendar Wizard" leads you through the process of creating a calendar for any object. It will create the required configuration records as well as the required objects and fieldsCalendars now have a minimum height. This allows you to still properly edit filters when no dimension records are shown in the calendar.
We included a new field for the attendees in outlook/google for reservations. This field can contain a comma separated list of email addresses and will be synced to the attendees in outlook/google. When syncing back to Booker25 this list will be updated if attendees have been removed/added.
The month view of the single record calendar now no longer displays reservation buffers. The reservation is displayed as a full day, making it impossible to show accurate buffer highlights.
Fixed dimension hovers that produced an error when hovering over a grouping of records.
Removed the scheduler export to image functionality because of changes to locker security in Salesforce.
We fixed an issue when editing reservation with a predefined timeframes.
Drag the Hover Definition component to the Record page for Hover definition object in the lightning page builder
Drag the Title Definition component to the Record page for Reservation Title Group object in the lightning page builder
March 3, 2022
This small release fixes a null pointer issue with the REST api when reservations with null quantity are present and provides a new endpoint to retrieve a reservations price based on the price calculation configured in Booker25.
Added a new endpoint that allows you to run the custom price calculation without inserting a reservation.
Fixed an issue that generated a null pointer on the /availability endpoint when the requested range contained a reservation with null quantity.
February 9, 2022
This release brings a long-requested feature. You can now specify that two or more records have a dependent availability. Such as a staff that is only available in a single location (Tim works in Amsterdam on Mondays, but London on Tuesdays) or a machine that can only be booked by certain staff members. Next to that awesome feature, we made a new filter that allows you to specify a date range to filter the calendar on what is available. We also squashed some bugs and improved the stability.
Made sure that the LWC Security update that will be rolled out in Spring ‘22 is not affecting Booker25.=
When inputting an empty reservation in the timeslot picker component for flows you no longer get an infinite loading screen
We fixed a null pointer error when (un)deleting dimension junction records.
There is a new field on Availability “Is Dependent Availability” please give your users access to this field and add it to the page layout. The Multi-calendar for record pages now has the option to say it should take these availabilities into account, there is a new checkbox in the lightning page builder called "Availability Filter" to activate this feature.
December 13, 2021
Some small changes are released in this version. Mainly related to the outlook sync and the timeslot picker.
You can now overwrite the Booker25 sync so it does not sync for changes on the reservation record
We made sure that we only sync reservations for fields where a field in the sync mapping is updated.
Timeslot pickers now no longer fail when the user's timezone is different from the computer's timezone.
Timeslot pickers now also checks on capacity.
November 15, 2021
We implemented the logic that if you change fields that are not relevant to the recurring cycle of a reservation, we won't update all reservations in the same cycle.
We now support objects that don’t have a Name field (such as Case or Workorder)
You can now hide the recurring reservations section based on the reservation type that is selected.
Improved the way in which outlook sync works, now it support once sync for multiple transactions
We fixed some missing permissions, specifically on the shared conflict checker logic that was introduced in the last release
Worked on the translations, includes new labels, new translations for existing labels
Allowing the Time Slot Picker to also work for other time zones than the user's timezone.
Fixed the currency symbol for multi currency orgs where the users currency is different from the records currency.
Fixed a bug so the status values in the picklist are correctly ordered.
There is a new field on the reservation type “hide recurring section” please give your users access to this field and add it to the page layout.
There is a new field on Dimension that specifies the “Dimension Name Field”. Please give your users access to this field and add it to the page layout. The field should fallback to “name” as a value.
September 29, 2021
This version brings a long awaited feature. Dimension Junctions will now conflict with Dimension Fields! This means that if you have related records will now conflict with direct reservations if you enabled the setting.
Check conflicts on reservations using dimension junctions against other reservations on the same object
Support 'Display as link' for Related lists
Allow users to select record types when click 'New' from reservation form lookup
Custom Form Testing API runLookupOverrideSearch now works for any field searches (not only related lists)
Labels and translations have been improved, not everything was translated as expected.
Fix reservation contact permission error when deleting a reservation without reservation contacts.
(Optional) If you want to have shared conflict checking enabled you have to go into the dimension object and enable the “Use Shared Conflict Checking” checkbox. This will only work for dimensions that have both a related dimension field and a related dimension junction. You might need to add the field to the Dimension page layout.
September 2, 2021
Booker25 now supports four new languages, French, German, Spanish and Portuguese. We welcome any feedback on our translations! We also include some nifty features that allow you to work better with Booker25 in screen flows, especially the time picker. We also improved some of the filter options that are supported. Such as a LIKE filter or selecting multiple values within texts. Our reservation form got an overhaul and now has support for field sets for collapsed related records:
Four new languages are supported, French, German, Spanish and Portuguese
You can now unselect timeslots in your screen flows, allowing you to make even more user friendly flows.
The same component (for timeslots) can now optionally include a date field, which also improves the user friendliness of screen flows.
We now have the option to support multiple values in text and number filters.
The custom form API now has the option to fire OnBeforeSave events.
Max length of Text fields and long text fields are now respected, also the decimal settings of number fields are now validated
There was an issue with unshared reservations that were not correctly displayed in the calendar. This has been resolved.
July 8, 2021
Bugfix release to fix an issue introduced in v4.70 that would show Dutch translations to users that had their language set to a different language.
Fixed a bug that would have certain dutch field and object translations appear if the users selected language was not dutch.
July 7, 2021
In this release we have focused on a lot of improvements that allow the users and admins to better use Booker25 in their day-to-day process. We included new functionalities for using Booker25 with flows. Made functionality to expose a dimension as an ICal feed. We also improved the accessibility of Booker25.
The standalone reservation form does now support a flow that can be run before loading the component. This allows you to set default values on the form. This flow has access to the Id of the record page the standalone form is loaded on.
When you wrap a reservation calendar you can now choose to make it “read-only” which would make the calendar display as normal, allowing the user to navigate and filter the calendar. But does not allow the user to create or edit reservations. See this page for documentation.
To improve the accessibility of the calendar, you can now set an ‘unavailability’ colour. The default grey will be overwritten by the colour you specify.
On the single month view we now indicate the current day in a different colour
Lightning filter dropdowns now always include a “None” filter entry allowing you to switch to no filter so you can see everything.
Booker25 is fully translated to Dutch.
You can expose dimension(s) to be visible in an ICal feed. This allows you to subscribe to this feed via your calendars or via code. Documentation of this will follow.
You can now load The Time Slot Picker into a flow, allowing you to use this in your own custom screen flows and create your own process while utilising the availability and conflict checking of Booker25. See this page for documentation.
We improved the support for multi-currency orgs in the new lightning components, which now copies the currency from the selected resource to the reservation or any related record.
Improved keyboard control voor lookups in the reservation form, now supporting up, down, enter and cancel.
Improved the real-time validation messages to no longer display null.
We include the “allow reservation deletion when updating a recurring reservation” check to the LWC calendar. This can be added to a permission set as a custom permissions.
June 15, 2021
This release packages the two-way Google Calendar sync.
We created a new extension package that allows you to sync any dimension you have with a Google Calendar.
We made sure that exisiting syncs (with Outlook) are not conflicting
June 2, 2021
While this release was mostly focused on improvements and bug fixes there are some cool new features added as well. The real-time validation works even better than before! Also we updated the API to support services with their capacity.
We added the “new record option” to the dimension junction search dropdowns so you can add new records from this dropdown as well.
Added a new REST endpoint /resources/*/services that allow for the retrieval of the remaining capacity of services for a resource. For more details see: https://apidocs.booker25.com/
Allowed the B25.Util_PluginManager.DynamicResourceTitleData object to be constructed to allow for unit testing of DynamicResourceTitle implementations.
The real time form validation on the LWC calendar will now trigger when any relevant field changes
The custom price calculation will attempt to get the fields it should trigger on from the same class as the calculation logic if no specific class is configured for triggering fields.
The dropdown clone and new child options on the Resources & Types page will now not be visible if the user does not have the permission to use them.
Fixed the saving of the reservation form when pressing the enter key on an input that should have other behaviour when pressing the enter key. For example text area fields now allow you to use enters again.
Changed the behaviour of the Display as Link field on Hover fields. The automatic displaying of lookup fields as links has been removed to allow for more control when deciding what fields should be displayed as links.
Fixed the standalone reservation form not displaying on record and home pages when the page was being viewed on mobile.
Fixed long text formula fields not correctly wrapping the text.
Fixed Lookup dropdowns closing when you attempted to scroll using the scrollbar.
Fixed the next button not working on some view configurations.
Fixed Lookups in view mode showing data of a previously opened reservation if the field was empty on the selected reservation.
Fixed the timeslot picker not displaying errors when the creation of a reservation failed.
Fixed the timeslot picker not working if the selected reservation type did not have a fieldset selected. It now falls back on the B25__Custom_Fields fieldset.
Fixed reservation validation failures if the reservation ended at 24:00 and if the availability did not start at 00:00
Fixed reservations from previous views being passed to the Dynamic Resource title implementations on the LWC calendars.
Fixed an error that would cause the Resource tree to fail to load on the Resources & Types tab when the org contained more than 10000 resources.
Fixed an error that would appear if you attempted to create a new recurring reservation and you changed the dates of the reservation after opening the reservation.
May 5, 2021
This is a big release that includes some nice features. For example, we now allow you to filter dimension-records based on a new filter in the top left. We have better support for mobile/communities with our stand-alone reservation form and we support multiple sections on the reservation form. Next to that, we squashed some bugs.
The reservation form can now be loaded as a component on record pages app pages in a mobile app and in communities. Taking advantage of conflict checking and the functionality of the form without showing the whole calendar.
Added a new filter to the lighting calendar. This filter when you open it will add a checkbox to each dimension record in the calendar. You can then uncheck any of them and when you press the button again it will hide any resources you did not have checked. This is stored locally on the computer and is stored per user and calendar.
Soft conflicting dimension objects will now no longer be filtered out of lookups. They will now display but with a warning that they would result in a soft conflict.
You can now specify a comma separated list for the “Field set to use” field on Reservation type. When this is done each fieldset will create a section on the reservation form. This title of the section will be the label of the fieldset.
Fixed a bug that caused the lightning form to ignore the B25__Skip_Subtotal_Calculation__c checkbox.
Fixed a bug that would cause availability checking to fail when a user with a different timezone than the user that created a reservation would update a conflict checking relevant field from the standard salesforce UI.
Fixed a bug that would cause the reservation hover to disappear if the hover would cause the page to get a scrollbar.
Added missing fields to the custom fields fieldset on resource.
April 13, 2021
n this release we mainly focused on improvements and bugfixes. We now show better conflict notifications and give you the option to hide your services from the form if you don’t want them.
Add the new Hide Service Section field to the reservation type layout
Add the Prevent Horizontal Drag and Prevent Vertical Drag to the Multi Resource Calendar Layout.
Add the Display as Link field to the Hover Field layout
Add the Display as Link field to the Related List Field Layout.
Added support for the Prevent Horizontal Drag and Prevent Vertical Drag on the lightning calendar.
Added a No related records message in the dropdowns of the related lists on the reservation form on the lighting calendar.
Added a soft conflict toast notification if you save a reservation through the reservation form on the lightning calendar.
Added a setting Hide Service Section on reservation type that allows you to hide the service section based on what reservation type a reservation is.
Soft conflict notifications on the visualforce calendar now behave the same as hard conflict notifications.
Added new settings to Hover Fields and Related List fields on reservation hover Display as Link This setting will force a field to render as a link. Name and Id fields are rendered as a link by default as long as they are on a related sObject.
Fixed a bug that would cause the search in the tree on the Resource & Types tab to occasionally hang.
When Outlook synchronization is enabled the recurring reservation component will create reservations synchronously instead of asynchronously to prevent conflicts with the Outlook synchronisation.
Fixed a bug that would cause the default time frame to not always be selected when opening the form.
Fixed a bug that would cause certain form functionality to not work when a default reservation type was selected on the resource type. Most noticeably reservation buffers.
Fixed a bug that would cause a SObject row was retrieved via SOQL without querying the requested field error when saving a dimension junction without any conflict checking configured.
March 23, 2021
In this release, we introduce some awesome new features! We now have real-time conflict checking on the reservation form. Recurring reservations now copy the dimension junctions overall new reservations in the recurring cycle. Furthermore, we fixed some bugs and added some improvements in this release as well.
If you are upgrading, do the following to get the most out of this release.
Add the new field Hide Pricing Section field to the reservation type page layout.
Added real time validation to the Lighting reservation form. When the start,end or resource on the reservation form change Booker25 will perform conflict checking in the background and display the result in the top right corner of the reservation form.
Dimension junction records are now copied to other reservations in a recurring reservation series. The newly introduced simple related lists are not supported at this moment.
Checkbox fields are now shown as checkboxes in reservation hovers on the lightning calendars.
New Booker25 installs will now have a month view on generic single calendars.
Added a new checkbox on reservation type that allows you to hide the Pricing section on the reservation form.|
Added the ability to specify ‘week’ as the slot duration of a view. This slot duration will make the cells line up with week-borders and create partial cells when the view duration is not divisible by the slot duration.
Added te Lead__c field to the available fields for the Custom_Fields fieldset on Reservation__c
When a dimension junction record is removed through other means as the reservation form soft conflicts caused by this junction are now properly removed.
Fixed a bug that caused the embedded multi calendar on record pages would not correctly remember the view that the user had opened last time they viewed the calendar.
Fixed a bug that would cause the /v1/availability endpoint to return incorrect timeslots.
Fixed an error that would appear when a user opened the Lightning reservation form when they did not have access to a dimension junction sObject type. Now the dimension junction list is hidden from the user.
March 8, 2021
In this release, we fixed a number of bugs and implemented some improvements to make the overall user experience of the app better.
Buttons permissions - Improved permissions on buttons to show only the buttons that you should have access to.
Filter Active Indicator - Added an active status to the button if a filter is active on the view
Formula field support Added better support for formula fields on the reservation form which are now displayed similar to the Salesforce formula fields.
We fixed a bug that was caused by the Salesforce Spring ‘21 release which showed an error when opening the reservation form before the page was loading
We made sure that timezones don’t affect the display of time in the view mode of the reservation
We improved the default picklist value support on the reservation form that was not always triggering
We made sure that services are available for the user to see in the reservation form
We resolved a bug where the reservation title bar was not displaying correctly in a single month calendar
We made sure that checkboxes do not display a required asterisk
February 26, 2021
This is an important version that fixes some major issues caused by the Salesforce Spring ‘21 release. It also contains some new features such as related lists on the reservation form, and updates to existing components and their availability in communities.
If you are upgrading, do the following to get the most out of this release. Add the new related list named ‘Related Lists’ to the Reservation Type page layout.
Component Updates - The following components have a new property ‘Lookup to Dimension’ allowing you to set a related record as the dimension: Single Calendar, Multi Calendar, Time Slot Picker.
Community Components - The following components are now available in communities: Single Calendar, Multi Calendar, Time Slot Picker, Recurring Reservation.
Component Reference - With all the recent and projected development on the available components, we have decided to create a central reference for all the components: https://gen25-jira.atlassian.net/l/c/0jVdTfJt. For now only the calendar components have been documented there, the others will follow shortly.
The ‘View in Salesforce’ link at the bottom of the reservation hover on the Lightning calendar now opens in a new tab instead of navigating away from the calendar page.
The Salesforce Spring ‘21 release caused a major performance degradation, which has been fixed in this release.
The Outlook Settings tab on the Booker25 Settings page was not visible even if the org had been configured correctly.
Fields on the VisualForce calendar reservation form, which were marked as required in the field set, were not being properly validated in the browser.
The ‘View All’ links under lists on the Settings page and the Resources & Types page now work again.
The loading spinner and greyed out area that appears when saving a reservation on the Lightning calendar now covers the entire form instead of only the top part.
Fixed an issue where the Time Slot Picker component would show additional incorrect time slots for certain time slot durations.