Release notes

Stay up-to-date on Booker25 Release notes

Stay up-to-date on Booker25 Release notes

Thanks, we've received your submission!
Something went wrong while submitting the form. Try again.
Release notes
2022202120202019
Version

4.84

November 16, 2022

This version contains a very nice new feature to add ICS files to email templates so recipients can easily add reservations to their calendars. It also contains flow and email templates for new, changed, and canceled reservations including these ICS files, and for sending check-in QR codes to reservation contacts. These new flows and email templates allow you to quickly set up email notifications in your org.

Features

  • To add ICS files to an email, we have added an invocable apex action which can be used from a flow to send an email template including ICS file.
  • New flow and email template for new, changed and canceled reservations (including the ICS file)
  • New flow and email template for sending check-in QR code to reservation contacts
  • New flow and email template for sending canceled reservation emails


Take a look at our documentation page, describing the flows and email templates.

Improvements

  • The dimension junctions now also support intelligent search. They will no longer show unavailable options and will warn users when an option would result in a soft conflict, making it easier and more effective to use.
  • The dynamic Filter now automatically uses some defaults to make it easier to use.
  • The way we handle recurring reservations has improved, it’s now a lot easier to handle recurring reservations in case of conflicting reservations.

Bug fixes

  • Closing the 'Hidden Resources' filter with the button caused an issue, which has now been solved.
  • Pick-lists didn’t support a -none- value, we've added this option.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • It should be enabled already for all organizations, but it's necessary that Folders and Enhanced Sharing is enabled.
    So if you face any installation errors, please take a look there

Version

4.83

November 9, 2022

We added an improvement to the recently released occupancy functionality, so you can now use the results in flows.

Features

  • To expose the functionality of the previously released occupancy component to be used in flows as well, we’ve now added it as an apex action. This allows you to use the occupancy data influence the behaviour of your flows.
Version

4.82

October 7, 2022

We added one nice new feature, checking in and out, optionally using QR codes,  next to that we did quite some nice improvements and bug fixes.

Features

  • Checkin - Checkout functionality has been added, we now allow you to quickly check-in and check-out your reservation contacts. We provide you with the option to add a QR-code to facilitate this.  When the QR code is scanned it opens the Salesforce mobile app and gives you two actions (check-in and check-out). We store the times of these actions. This functionality is also available in the desktop record page view or when you’re using the API. Check out our documentation to see how this works in more detail.


Improvements

  • The dimension junctions now also support intelligent search. They will no longer show unavailable options and will warn users when an option would result in a soft conflict, making it easier and more effective to use.
  • The dynamic Filter now automatically now uses some defaults to make it easier to use.
  • The way we handle recurring reservations has improved, it’s now a lot easier to handle recurring reservations in case of conflicting reservations.

Bug fixes

  • Fixed some issues with double booking in soft conflicts situations
  • Fields in Double Booking Matching Condition will now trigger revalidation on the reservation form when changed.
  • Fixed cross object Double Booking Matching Conditions not working in intelligent lookups.
  • Fixed booker25 installation failures on orgs with Shield Platform Encryption.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • If you want the QR code to check-in make sure to add it to the reservation contact page layout.

Version

4.81

August 19, 2022

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.

Features

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.

Occupancy component

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.

Take a look at our documentation to find out more

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.

Check out our documentation to see how this works in more detail


Bug fixes

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.


Admin Actions

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

Version

4.80

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.

Features

  • 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.
    Check out our documentation.

  • 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.
    Check out our documentation.

  • Added the ability to use the readOnly and hiddenReservationFilters on the mobile calendar when wrapping it.


Bug fixes

  • 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.
Version

4.79

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.

Improvements

  • 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. Look at our documentation how to configure this.
  • 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.

Bug fixes

  • 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.

Version

4.78

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.


Improvements

  • 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 fields​Calendars 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.


Bug fixes

  • 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.


Admin actions

  • 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
Version

4.77

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.

Improvements

  • Added a new endpoint that allows you to run the custom price calculation without inserting a reservation.


Bug fixes

  • Fixed an issue that generated a null pointer on the /availability endpoint when the requested range contained a reservation with null quantity.
Version

4.76

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.


Improvements

multi dimensional availability display image


Bug fixes

  • 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.


Admin Actions

  • 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.
Version

4.43

February 14, 2020

One minor feature and two bugfixes.

Features

-When creating a new Reservation Type, it now automatically gets linked to every existing calendar. When creating a new Calendar, every existing Reservation Type now automatically gets linked to it.

Bug fixes

  • Checkbox fields in related lists on the reservation hover now display checkboxes instead of the text ‘true’ or ‘false’.
  • On the Reservation form, new services or related records added to a reservation now populate the default field values defined in Salesforce.

Version

4.75

December 13, 2021

Some small changes are released in this version. Mainly related to the outlook sync and the timeslot picker.

Improvements

  • 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.

Bug fixes

  • 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.
Version

4.74

November 15, 2021

Features

  • 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.


Bug fixes

  • 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.


Admin Actions

  • 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.

Version

4.73

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.

Features

  • 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)


Bug fixes

  • Labels and translations have been improved, not everything was translated as expected.
  • Fix reservation contact permission error when deleting a reservation without reservation contacts.

Admin Actions

  • (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.

Version

4.72

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:


Features

  • 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.

Bug fixes

  • 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.

Version

4.71

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.


Bug fixes

  • Fixed a bug that would have certain dutch field and object translations appear if the users selected language was not dutch.

Version

4.70

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.


Features

  • 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.

Bug fixes

  • 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.

Version

4.69

June 15, 2021

This release packages the two-way Google Calendar sync.

Features

  • 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

Version

4.68

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.

Features

  • 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. 
    More detail
  • The real time form validation on the LWC calendar will now trigger when any relevant field changes.
  • Allowed the B25.Util_PluginManager.DynamicResourceTitleData object to be constructed to allow for unit testing of DynamicResourceTitle implementations.

Improvements

  • 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.

Bug fixes

  • 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.

Version

4.67

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.


Improvements

  • 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.


Bug fixes

  • 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.

Version

4.66

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.

Admin Actions

  • 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.

Improvements

  • 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.

Bug fixes

  • 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.

Version

4.64

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.


Improvements

  • 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.

Bug fixes

  • 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

Version

4.63

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.


Admin Actions

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.


Features

  • Related Lists - It is now possible to add any kind of related list to the reservation form, this is no longer limited to dimension junctions: Link
  • Flow Buttons - It is now possible to have custom buttons run flows. This can be done through configuration or code.
  • 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.


Improvements

  • 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.

Bug fixes

  • 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.

Version

4.61

December 3, 2020

This version brings a final much-requested feature from the VisualForce calendar to the Lightning calendar: Recurring Reservations. It also introduces a new component to quickly pick a timeslot and create a reservation directly from a record page.

Features

  • The Lightning calendar reservation form now displays a recurring reservation section if enabled on the settings tab.
  • There is a new component available for record pages, which allows users to select a timeslot and make a quick reservation for that record or its child resources. For more info: https://gen25-jira.atlassian.net/l/c/z871Y1Vn

Improvements

  • A new tab named “Lightning Calendar” has been included, showing the Resource calendar by default. The selected calendar can be changed in the Lightning App Builder.
  • Saving View records with a Slot Duration not conforming to a format of “0:00”, “00:00”, “0.00:00”, “00.00:00”, “month”, or “year” will now result in an error.
  • The Name field is no longer required for reservation templates on the Scheduler calendars.
  • The Lightning calendar now sets the default reservation type if defined on a resource type.

Bug fixes

  • The service section on the Lightning calendar reservation form no longer shows ‘Max null’ for services with an unlimited available quantity.
  • Fixed an issue with the custom ordering of View buttons on the Lightning calendar.
  • Fixed an issue where reservations on the single Lightning calendar with a buffer time had incorrect padding for their title text.
  • If the setting ‘Disable live update warning’ has been enabled, users will no longer get an error if the live updates PushTopic channel has been set to inactive.
  • Fixed an issue where the field ‘Dimension Allow Double Booking Field’ was not correctly responding to the value in the referenced field.
  • Both the VisualForce and Lightning calendars now trigger custom price calculations when ‘Services have a price’ has been enabled, even if ‘Resources have a price’ has been disabled.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • This version will automatically update any View records with a Slot Duration of ‘30’ (which indicates 30 seconds) to ‘00:30’ (which indicates 30 minutes).
  • When upgrading, you might get the following error: Lightning_Calendar: In Lightning component B25:multiCalendarWrapper, property calendarId has an invalid value Resources. This happens if you have previously deleted the default calendar named ‘Resources’. To get around this error, simply create a new calendar named ‘Resources’ and try again.

Version

4.60

December 2, 2020

On top of some bugfixes and small improvements, this version finally brings a popular feature of the VisualForce calendar to the Lightning calendar: Custom Buttons. It also contains upgrades to the Lightning calendar filters, giving admins more fine-grained control and a new multi-select option to enhance the experience of their users.

Features

Improvements

  • A new setting has been added to the Settings tab to disable the ‘no hover definition’ message when hovering over reservations in a context for which no hover definition exists.
  • Our components that are available in the Lightning App Builder now have an easily recognizable Booker25 icon, instead of the default Salesforce icon.
  • A new setting has been added to the Settings tab to enable the new ICU locale formats. Enable this setting if the “ICU Locale Formats” release update has been enabled in the org. For more information see: https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_globalization_enable_icu_locales_ru.htm

Bug fixes

  • Lightning calendar filters on lookup fields no longer show only a subset of results in some cases.
  • The Lightning calendar now correctly sets the default Resource Layout, if one has been configured. For more information on Resource Layouts, see: https://gen25-jira.atlassian.net/l/c/uR9U87yn
  • The Timeframe dropdown on the reservation form now no longer shows Timeframes that are Resource or Resource Type specific, if no Resource has been selected. This applies to both VisualForce and Lightning calendars. For more info on Timeframes, see: https://gen25-jira.atlassian.net/l/c/GJGP2thH
  • Fixed a bug where selecting a Timeframe on the Lightning calendar reservation form did not update the reservation times.
  • Fixed a bug where changing the reservation times on the Lightning calendar reservation form did not update the selected Timeframe.
  • Fixed a bug where (custom) price calculations were not triggered and the (sub)total price was not updated in the pricing section when adding, removing, or modifying services.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Add the new ‘Dimension Name Field’ to your Dimension Junction Display Setting page layouts.
  • The ReservationContact object is now related to Contact through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.
  • The ReservationContact object is now related to Reservation through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.

Version

4.57

September 29, 2020

Besides a number of bugfixes, this version introduces record pages with calendars and makes calendar components deployable. This comes with an important caveat if you are already using calendar components, so make sure to check the Admin Actions below.

Features

  • Lightning calendar components now reference calendars by name instead of id. This has the major advantage that pages containing calendar components are now deployable between orgs.
  • Lightning record pages for Resource and Staff have now been included. These are identical to the default record Lightning calendar components, except that they include a Calendar tab with a Lightning calendar component.
  • It is now possible to create calendars without dimensions. This also means you can now easily add calendar components to objects without first having to create a dimension for them.

Bug fixes

  • The ordering of time headers on the Lightning multi calendar was incorrect. The ordering was exactly opposite of the VisualForce calendar. Also an order of ‘0’ (zero) was treated as if the value was ‘null’ (empty).
  • The 'Capacity' record type on Conflict has now been included in all permission sets.
  • The Reservation Status tab is now accessible through the B25 Admin permission set.
  • Currency and checkbox fields of records in a junction list were sometimes emptied when rerendering the VisualForce reservation form.
  • Ordering of junction lists on the Lightning calendar was incorrect.
  • The reservation form on the Lightning calendar did not validate a field as required if it was marked as required in the field set.
  • The ‘N/A’ option for filter fields on the Lightning calendar is now also supported by picklists.
  • Cells shorter than 1 hour caused incorrect hiding of cells.
  • The ‘View in Salesforce’ button in the Details section of the Resources & Types tab did not work properly.
  • Automated Booking Rule logic is no longer executed from the Opportunity trigger when the user has no access to the Automated Booking Rule object, or no Automated Booking Rules are configured in your org.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Important! Because calendar components now reference calendars by name instead of id, if you have included any components on your own pages, they will give an error message that the calendar can’t be found. To fix this, simply edit the page and re-select the correct calendar.
  • If you have wrapped any calendar components inside your own components, you will need to change the value passed into the calendar-id. This value should now be the calendar name instead of the id.
  • Check if your time headers on the Lightning calendar are ordered correctly. Configuring time headers is described here: https://gen25-jira.atlassian.net/l/c/ZfrCuuH0
  • On install or upgrade, two dimensionless calendar config records will be created automatically. These have been included for convenience, so you can easily add calendar components on objects for which no dimension exists. Feel free to delete or modify these calendar records.

Version

4.56

September 11, 2020

This is a fairly large release with some bugfixes and improvements, in addition to a number of new features.

Features

  • The UI of filters on the Lightning calendar has been expanded for users without any permission to create filters. This allows users without permissions to have greater control over what they see, without the additional complexity available to users with permissions to create filters. For more on filters: https://gen25-jira.atlassian.net/l/c/ER1pV1u0
  • It is now possible to configure buffer time before and after a reservation, for example to indicate setup and cleanup times. More information here: https://gen25-jira.atlassian.net/l/c/fdpqrF39
  • It is now possible to configure a flow to run when a reservation is being created on the calendar, before the reservation form opens. This can be useful to pre-populate fields with dynamic values, but flows are powerful and allow more complex use cases as well. For more information, see: https://gen25-jira.atlassian.net/l/c/qoBe3WKt
  • It is now possible to include junctions (such as ReservationContacts) or service reservations in the prototypeReservation when wrapping calendar components in your own components, as described in here: https://gen25-jira.atlassian.net/l/c/Gzmk0KqK
  • Booker25 now includes a dedicated home page in Lightning Experience, with reports and dashboards to give you more insight into your Booker25 data. This home page (named ‘Home’) can be made available to your users if desirable: https://help.salesforce.com/articleView?id=admin_home_lex_app_assign.htm&type=5

Improvements

  • The Lightning calendar resource lookup now takes the reservation’s services into consideration, when showing available resources.
  • The Lightning calendar now shows a success message after saving a reservation.
  • The Lightning calendar reservation form now supports fields of the type Geolocation.
  • There is a new checkbox ‘Disable live update warning’ in the Details section of the Settings tab. Enabling this checkbox prevents users without PushTopic access from getting an error toast notification when loading the calendar.
  • Scheduler: the View lookup on Schedule now includes a filter that only shows Views of the ‘Schedule View’ record type.
  • ‘View Record in Salesforce’ in the dimension context menu on the Lightning calendar now opens in a new browser tab instead of a Salesforce tab.
  • The Lightning single calendar now displays month views as a grid.
  • The Lightning calendar reservation form now respects the checkbox ‘Hide Selected Items From Search Results’ on the Dimension Junction Display Setting configuration object (this object is described here: https://gen25-jira.atlassian.net/l/c/0F7o6HGH).
  • After reloading or navigating, the Lightning calendar now scrolls to the current day/time on wide views (with a horizontal scrollbar), if the current day/time is outside of the visible part.

Bug fixes

  • Long names of resources (or any other dimensions) in the left hand column of the multi calendar are no longer cut off.
  • Fixed a bug where the ordering of fields in the hover popup were not always consistent.
  • Realtime calendar updates (through PushTopics) now work correctly on the Multi Calendar component available for record pages.
  • Reservation filters are now applied also to reservations that are only visible on the calendar because of their dimension junctions.
  • The ‘CustomFields’ field set on Service Reservation now includes the necessary fields for service reservations on the Lightning calendar to work immediately out of the box.
  • The Lightning calendar reservation form did not always trigger a price recalculation when the subtotal field or relevant service reservation fields were edited.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Since the Lightning single calendar now displays month views as a grid, check your single month view configurations.
  • Check if your Schedule views have correct slot durations. Recommended values are 1:00 for multi schedule views and 00:15 or 00:30 for single schedule views.
  • If you are running into installation problems due to not having permission to “change dashboard colors”, first make sure you have this permission and then try again. Salesforce knowledge article: https://help.salesforce.com/articleView?id=000349418&language=en_US&mode=1&type=1

Add these fields to your page layouts:

  • Reservation Buffer Color on the Reservation Color page layout
  • Reservation Start Buffer Size on the Reservation Type page layout
  • Reservation End Buffer Size on the Reservation Type page layout

Version

4.55

August 20, 2020

Major new feature 'Custom Form Logic' which allows the form to be customized using Apex.

Major Features

  • Custom Form Logic: this feature includes a complete Apex API to let you take programmatic control over the Lightning calendar reservation form. It will let you do things like calculate values, update fields, generate custom lookup results, and more. See the documentation section here: https://gen25-jira.atlassian.net/l/c/AZYcVaSP

Features

  • Like the VisualForce calendar, the Lightning calendar reservation form now includes a Services section when the selected resource has available services.
  • Like the VisualForce calendar, the default price calculation logic is now applied by the Lightning calendar reservation form when relevant fields are modified by the user.

Improvements

  • Intelligent Lookups on both the VisualForce and Lightning calendar reservation forms now clearly indicate when no results are found.
  • The Lightning calendar reservation form now falls back to the default ‘Custom Fields’ fieldset, if no fieldset has been entered on the Reservation Type.
  • Reservation Types showing up in the dropdown at the top of the Lightning calendar reservation form are now properly left-aligned.
  • The B25 Community permission set now includes basic access on the Conflict object, so that community users will not fall back to hard conflicts when you have soft conflicts configured.

Bug fixes

  • The filters defined on the VisualForce calendar no longer cause ‘Field is not accessible in this context’ errors due to an outdated API version.
  • After deleting the last dimension or reservation filter on the Lightning calendar, the list is now cleared correctly.
  • The Lightning calendar reservation form no longer crashes under specific circumstances with a dependent picklist on the form.

Version

4.52

June 22, 2020

Smaller release with an improvement to the new filter UI and a few bugfixes.

Features

  • The filter UI on the Lightning calendar now supports editing existing filters. This allows you to change a filter from personal to global, or to edit which things other users can override (such as values and operators).

Bug fixes

  • Inaccessible reservation title fields are now hidden on the Lightning calendar instead of causing an error.
  • Fixed an issue on the Lightning calendar, where if the reservation sObject had multiple record types, saving a reservation would fail with an ‘unable to read sObject’ error.
  • Leaving the Calendar field blank when creating a Resource Title now gives a helpful error message instead of a cryptic one.
Version

4.51

June 12, 2020

Some bugfixes and smaller improvements, as well as some new properties on the calendar components to control the view, start date, and prepopulated reservation fields.

Features

  • The single and multi calendar components now have API properties that let you control the start date, the displayed view, and the prepopulation of reservation fields. Note that these are API properties and not page builder properties, so they are only accessible when wrapping these components inside your own custom components. More information here: https://gen25-jira.atlassian.net/l/c/XyEm72xh
  • The MultiSchedule calendar component now displays a context menu when clicking on the dimensions, just like the Lightning and VisualForce multi-row calendars do.
  • The Lightning calendar now prompts the user with a confirmation dialog when clicking Delete on the reservation form.
  • The option to create global filters is now disabled if the user has no permission to create global filters.

Bug fixes

  • The previous version contained a conversion script that would automatically generate JSON for the new filters, based on your existing filters on the VisualForce calendar. However that script contained a bug causing the conversion to be incorrect. This bug has now been fixed, and if an incorrectly converted filter is detected that filter will be corrected by the upgrade process.
  • Fixed a bug where the Lightning calendar would sometimes give the following error on refreshing: [Cannot read property 'x' of null]
  • Fixed a bug on the Lightning calendar where the order of fields in the reservation hover window would be reversed compared to their order on the VisualForce calendar.
  • The Lightning calendar no longer crashes when the configured reservation title group contains no titles.
  • The filter item modal no longer gets hidden behind the other filter panel if you have both filter panels open.
  • Fixed a bug where the Lightning calendar would not correctly display unavailabilities, (availability records that have the checkbox ‘Unavailability’ checked).

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Confirm that your ordering of hover fields is correct after upgrading, because these have been reversed for the Lightning calendar as part of a bug fix. More info on configuring hover fields here: https://gen25-jira.atlassian.net/l/c/b4xXk189

Version

4.50

May 10, 2020

On top of some bugfixes and small improvements, this version finally brings a popular feature of the VisualForce calendar to the Lightning calendar: Custom Buttons. It also contains upgrades to the Lightning calendar filters, giving admins more fine-grained control and a new multi-select option to enhance the experience of their users.

Features

Improvements

  • A new setting has been added to the Settings tab to disable the ‘no hover definition’ message when hovering over reservations in a context for which no hover definition exists.
  • Our components that are available in the Lightning App Builder now have an easily recognizable Booker25 icon, instead of the default Salesforce icon.
  • A new setting has been added to the Settings tab to enable the new ICU locale formats. Enable this setting if the “ICU Locale Formats” release update has been enabled in the org. For more information see: https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_globalization_enable_icu_locales_ru.htm

Bug fixes

  • Lightning calendar filters on lookup fields no longer show only a subset of results in some cases.
  • The Lightning calendar now correctly sets the default Resource Layout, if one has been configured. For more information on Resource Layouts, see: https://gen25-jira.atlassian.net/l/c/uR9U87yn
  • The Timeframe dropdown on the reservation form now no longer shows Timeframes that are Resource or Resource Type specific, if no Resource has been selected. This applies to both VisualForce and Lightning calendars. For more info on Timeframes, see: https://gen25-jira.atlassian.net/l/c/GJGP2thH
  • Fixed a bug where selecting a Timeframe on the Lightning calendar reservation form did not update the reservation times.
  • Fixed a bug where changing the reservation times on the Lightning calendar reservation form did not update the selected Timeframe.
  • Fixed a bug where (custom) price calculations were not triggered and the (sub)total price was not updated in the pricing section when adding, removing, or modifying services.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Add the new ‘Dimension Name Field’ to your Dimension Junction Display Setting page layouts.
  • The ReservationContact object is now related to Contact through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.
  • The ReservationContact object is now related to Reservation through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.

Version

4.49

April 29, 2020

This release contains an important bugfix for the new Lightning calendar.

Features

  • The global setting ‘Show greyed out blocks on the calendar for unshared reservations’ is now also supported on the new Lightning calendars.

Bug fixes

  • Fixed a bug where the new Lightning calendar would sometimes give an error when clicking outside of it, like closing another tab for example.
  • The vertical and horizontal lines on the calendar now no longer disappear at certain browser zoom levels.
  • Fixed the validation logic giving an error when updating multiple reservations, where one or more had their status or type changed, and one or more that did not have their status or type changed.
  • Internal logic will now give a more meaningful error message containing the resource id if it can’t find that resource’s materialized path.

Version

4.48

April 10, 2020

Many improvements, mostly to the new Lightning calendars.

Features

  • Booker25 now includes a Multi Calendar Lightning component which can be placed on Lightning record pages, to display the children of that record. For the how-to article, see: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1564016669/Add+a+Calendar+to+a+Lightning+Record+Page For an overview of available calendars, see: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1529151489/Calendar+Differences
  • There is a new checkbox property ‘Show Availabilities’ on the Multi Schedule component. When enabled, any relevant availabilities with the checkbox ‘Include On Scheduler’ set to true will be loaded and shown to the user. When disabled, every row shows as always open. This property is enabled by default. For more information: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1593540609/Showing+Availabilities
  • The Lightning calendar now remembers the user’s last selected view when the page is reloaded.
  • The Lightning calendar now respects the ‘Prompt before moving’ and ‘Prompt before resizing’ checkboxes that have been configured on the calendar configuration record.
  • Links on the Lightning calendar now open a new Salesforce tab or a new browser tab instead of navigating away from the calendar.
  • The Lightning calendar’s reservation form now also has a view mode, as opposed to only an edit mode.
  • The Lightning calendar’s reservation form now hides the Pricing section if the global setting ‘Resources have a price’ has been disabled.
  • The resource lookup on the Lightning calendar’s reservation form now also searches in the resource’s context (parent and grandparent names, as shown between parentheses in the results).
  • Controlling and dependent lookups and picklists are now supported on the Lightning calendar’s reservation form.
  • Admins can now configure the height of Lightning calendar components using the new ‘Max height’ property.
  • The picklist property ‘Calendar’ on the Single Calendar component will now only show valid calendar records. Valid records are Calendars of the ‘Single’ record type, linked to a Dimension that is of the same object type as the record page that you want to add the component to.

Bug fixes

  • Reservation titles on the Lightning calendar would break if they were cross object references (like B25__Resource__r.Name).
  • The alignment of reservation titles on the Lightning calendar was incorrect for reservations that started before the current view started.
  • The Lightning calendar no longer breaks when Dynamic Dimension Groupings include a ‘None’ option. For more information on Dynamic Dimension Groupings: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/836173826/Dynamic+Dimension+Grouping
  • Dynamic Dimension Groupings on the Lightning calendar now show the record name instead of the id, if the grouping field is a lookup.
  • Dimension junctions that the user does not have read access to are now hidden on the Lightning calendar’s reservation form, instead of throwing an error.
  • If the user does not have create access on the Reservation object, the reservation form on the Lightning calendar now simply does not open, instead of throwing an error.
  • The search results for lookups on the Lightning calendar’s reservation form are now consistent with the VisualForce calendar.

Version

4.47

March 31, 2020

Many improvements and bugfixes. Performance boost for mass updating reservations that do not need conflict checking.

Features

  • When updating a reservation, Booker25 now only performs conflict checking if any field changed that is significant for conflict checking. So for example only changing the title of a reservation should not trigger conflict checking. This performance boost should be especially beneficial to clients using recurring reservations.
  • Booker25 now includes a Single Calendar Lightning component which can be placed on Lightning record pages. For the how-to article, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1564016669/Add+a+Calendar+to+a+Lightning+Record+Page For an overview of available calendars, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1529151489/Calendar+Differences
  • It is now possible to disable progressive rendering on calendar views. Progressive rendering is when the calendar does not render reservations until the user scrolls to that part of the calendar. If you disable this, all reservations are rendered when the calendar loads, even before the user scrolls to them, but the calendar takes a bit longer to load.
  • The Microsoft Outlook synchronization now allows you to map fields. To find out how, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1564344321/Mapping+fields
  • Reservation conflict error messages now give more information about which dimension the reservation has a conflict in.
  • The VisualForce calendars now remember the user’s last selected view. If the page is reloaded, this view will be selected instead of the default view as defined on the calendar.
  • On the Lightning calendar, if there is only one reservation type, the reservation form will no longer show a dropdown to allow the user to select a reservation type.

Bug fixes

  • On views spanning more than one day, Predefined Timeframes with an empty value for Number of Days no longer interpret the empty value as if it was zero. This allows the user to define the number of days by selecting a time range of multiple days. For more info on Timeframes: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1342799873/Add+Predefined+Timeframes
  • When a default Predefined Timeframe has an empty value for Number of Days, selecting a 24 hour period on the calendar no longer results in incorrect start and end times.
  • The Resource form on the Resources & Types tab now correctly enforces FLS (field level security).
  • Timezone conversion on the new Lightning calendar now also works correctly when your computer’s timezone does not match you user’s timezone in Salesforce.
  • It is no longer possible to create duplicate Dimension Junction records.
  • Dragging and dropping a reservation on the calendar now enforces update permissions and FLS for all records involved, including Dimension Junctions.
  • Timeframe queries throughout the application now correctly enforce FLS.
  • Clone and New Child actions in the dropdown menu in the left panel of the Resources & Type tree now also work in Microsoft Edge.
  • The new Lightning calendar now passes the current view’s start and end times to any dynamic resource titles you have defined.
  • The new Lightning calendar now correctly formats datetimes displayed in reservation titles. For more information on configuring reservation titles:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/443416595/Defining+Reservation+Titles
  • The Schedule calendar no longer shows an error message when trying to drag and drop a reservation template to another day. For more information on the Schedule calendar, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1232240665/Scheduler
  • Removed the ‘Hide times without reservations’ and ‘Hide closed times without reservations’ checkbox fields on View that have become obsolete by the Column Hiding Behavior picklist introduced in version 4.40.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the new checkbox ‘Disable Progressive Rendering’ to your View page layout(s).
  • We are deprecating the B25 Read Only permission set. This means that you can still use it, but we will not be updating it with new fields. Make sure your security model does not depend on this permission set being kept up to date.
  • Check if you have translations for, or are referencing any of the following custom labels: CapacityExceeded, Capacity Exceeded Combined With Other Reservations, ReservationConflicts, Reservation Conflicts Without Times. These labels now have an additional merge parameter and you should review their usage.
  • Delete the now obsolete checkbox fields ‘Hide times without reservations’ and ‘Hide closed times without reservations’ from the View object, unless your own solutions depend on these fields.

Version

4.46

March 16, 2020

This release contains a major feature in the form of a new calendar built entirely as a Lightning Web Component.

Major Features

  • This release contains a new version of the calendar as a Lightning Web Component (LWC). Rebuilding the calendar as a LWC should have a notable positive impact on calendar performance. It also opens up possibilities of easily integrating the calendar into your own Lightning solutions. Not all features of the current calendar are supported yet, but most of them will be added in later versions. Feel free to reach out to us for specific requests. For an overview of the differences between the calendars, see: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1529151489/Calendar+Differences

Minor Features

  • The Dimension and Reservation Template filters on the Schedule calendars have been upgraded to support condition groupings and ‘and/or’ constructions.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

Version

4.45

March 2, 2020

Minor performance boost for a specific endpoint and a bugfix for the Outlook sync.

Features

  • Minor performance boost to the Available Time Ranges. get Time Ranges global Apex method.

Bug fixes

  • Fixed an issue where the Outlook sync to Salesforce would fail if a nextlink was returned.

Version

4.44

February 21, 2020

One minor UX improvement and a critical bug fix for clients using the Recurring Reservation component.

Features

  • All search inputs in the Booker25 UI now follow the official Salesforce Lightning design system.

Bug fixes

  • Fixed the Recurring Reservation component being broken by the Salesforce spring update.
Version

4.41

January 31, 2020

wo minor features and some bugfixes.

Features

  • The 'add resources' search in the calendar filter now no longer returns inactive resources and staff.
  • The Calendar Page parameter ‘start’ now accepts a larger range of date formats. This allows you to simply output a date or datetime field value onto a visualforce page, and pass that value into the start parameter. This eliminates the need for a visualforce page controller extension to format the date/datetime.

Bug fixes

  • Reservations with a status marked 'Final' no longer have an edit button on the Reservation form.
  • The Total Price field on the Reservation form now respects the Price field override. If the Price field is not null, Total Price will be equal to Price.
  • Fixed some links not opening in Internet Explorer 11.
  • Fixed the ‘View Record in Booker25’ action on the calendar resource context menu not opening the correct resource.
  • Capacity conflicts no longer cause the find Available DimensionIds REST endpoint to fail with a System.Final exception
  • The Recurring Reservation component now displays the correct warning message when loading a Recurring Reservation with an unsupported recurrence type.
  • Fixed the Recurring Reservation component incorrectly displaying the unsupported recurrence type warning depending on the users local timezone.
Version

4.40

January 24, 2020

Includes a new way to control what columns should be hidden on calendar views, as well as a few minor features and bugfixes.

Features

  • Replaced the ‘Hide Closed Times Without Reservations’ and ‘Hide Times Without Reservations’ checkboxes with a picklist named ‘Column Hiding Behavior’. This makes the available configuration options clearer and adds some new options. For all the options, see the article Column Hiding Behavior.
  • View, Start Date and Number of Weeks on Schedule are now required. Number of Weeks now defaults to 1.
  • Resource Layout has a new field Default. When creating a Reservation on the calendar in a Resource that has a default layout, this layout will be selected.

Bug fixes

  • Fixed the Recurring Reservation Lightning Component sometimes generating an error when attempting to make a reservation recurring.
  • Changes to Service Reservations in the custom price calculation will now be reflected on the reservation form.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the Column Hiding Behavior picklist to your View page layout(s).
  • Remove the ‘Hide Closed Times Without Reservations’ and ‘Hide Times Without Reservations’ checkboxes from your View page layout(s).
  • Review the article on Column Hiding Behavior to see what options are available.
  • Add the Default field to your Resource Layout page layout(s).

Version

4.39

January 13, 2020

Multiple minor features and some bugfixes.

Features

  • There is a new field Default Quantity on Service. When set to a number, any service added to a Reservation on the calendar will have this quantity by default. If left empty, it will default to the quantity of the Reservation.
  • Testability of Custom Price Calculations has been improved by making the B25.Util_PluginManager. Reservation Price Data constructor method global.
  • The POST and PATCH methods on the Reservations and ReservationContacts REST endpoints now return more detailed info for failures due to hard conflicts. The property is named ‘hardConflicts’, and contains info such as the type of conflict, the name of the Dimension, and the id of the conflicting Reservation.
  • All relevant sections on the settings tab now have loading spinners.

Bug fixes

  • Fixed that multiple inserts or updates of reservations in one Apex execution context could cause unexpected conflict checking behavior due to caching.
  • In the Feature console, the Outlook connections information is now hidden if there are no connections permitted.
  • The Multi Schedule Component now adjusts the height of event boxes when there are multiple titles.
  • Dates shown in hovers no longer show the time part
  • Layout and Timeframe could be edited on the Reservation form even when the Status was marked as Final.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the Default Quantity field to your Service page layouts.
  • (Optional) To preserve existing behavior, the upgrade will set the Default Quantity of all your existing Services to 1. Adjust this number for each Service if desired.

Version

4.42

February 6, 0200

Bug fixes

  • When hovering over a Reservation on the Calendar, checkbox fields are now displayed as read-only checkboxes instead of the text ‘true’ or ‘false’.
  • Fixed null pointer exception when not providing start/end time parameters to the {resourceId}/availability endpoint. An invalid parameters response is now returned instead.
  • You can now delete resource types that have no related resources. Virtual resources are now ignored and are automatically deleted when deleting the resource type.
  • The Name field on the resource form now enforces the required attribute.
  • Fixed availabilities not loading if grouping was enabled on a calendar and there were not enough dimension records to form a group.
  • Fixed the calendar not correctly updating when pushtopics were disconnected and a Recurring Reservation was destructively updated.
  • Fixed the Resource Type save button sometimes not triggering after updating the Resource Type name.
  • The Available Time Ranges .get TimeR anges global method now assumes that a null value for the reservation parameter means no fields on Reservation have an effect on conflict checking instead of throwing a null pointer exception.
  • Improved error messages when creating invalid Outlook sync connections.
  • Fixed the date picker on the calendar not navigating to the correct date if your timezone was GMT+1 or higher.
  • The small colored legend for the reservation statuses in the calendar filter has been removed. This was done because the shown colors were either invisible or wrong. Because of the flexibility of the Booker25 coloring system it is not currently possible to generate an accurate and usable legend.
  • Switching between Resource(Types) on the Resource & Types tab now blocks user interaction to prevent unexpected results from actions performed by the user while the page was loading.
  • Fixed the Resource(Type) tree context menu actions (‘new child’ and ‘clone’) not working if no Resource(Type) was selected.
Version

4.84

November 16, 2022

This version contains a very nice new feature to add ICS files to email templates so recipients can easily add reservations to their calendars. It also contains flow and email templates for new, changed, and canceled reservations including these ICS files, and for sending check-in QR codes to reservation contacts. These new flows and email templates allow you to quickly set up email notifications in your org.

Features

  • To add ICS files to an email, we have added an invocable apex action which can be used from a flow to send an email template including ICS file.
  • New flow and email template for new, changed and canceled reservations (including the ICS file)
  • New flow and email template for sending check-in QR code to reservation contacts
  • New flow and email template for sending canceled reservation emails


Take a look at our documentation page, describing the flows and email templates.

Improvements

  • The dimension junctions now also support intelligent search. They will no longer show unavailable options and will warn users when an option would result in a soft conflict, making it easier and more effective to use.
  • The dynamic Filter now automatically uses some defaults to make it easier to use.
  • The way we handle recurring reservations has improved, it’s now a lot easier to handle recurring reservations in case of conflicting reservations.

Bug fixes

  • Closing the 'Hidden Resources' filter with the button caused an issue, which has now been solved.
  • Pick-lists didn’t support a -none- value, we've added this option.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • It should be enabled already for all organizations, but it's necessary that Folders and Enhanced Sharing is enabled.
    So if you face any installation errors, please take a look there

Version

4.83

November 9, 2022

We added an improvement to the recently released occupancy functionality, so you can now use the results in flows.

Features

  • To expose the functionality of the previously released occupancy component to be used in flows as well, we’ve now added it as an apex action. This allows you to use the occupancy data influence the behaviour of your flows.
Version

4.82

October 7, 2022

We added one nice new feature, checking in and out, optionally using QR codes,  next to that we did quite some nice improvements and bug fixes.

Features

  • Checkin - Checkout functionality has been added, we now allow you to quickly check-in and check-out your reservation contacts. We provide you with the option to add a QR-code to facilitate this.  When the QR code is scanned it opens the Salesforce mobile app and gives you two actions (check-in and check-out). We store the times of these actions. This functionality is also available in the desktop record page view or when you’re using the API. Check out our documentation to see how this works in more detail.


Improvements

  • The dimension junctions now also support intelligent search. They will no longer show unavailable options and will warn users when an option would result in a soft conflict, making it easier and more effective to use.
  • The dynamic Filter now automatically now uses some defaults to make it easier to use.
  • The way we handle recurring reservations has improved, it’s now a lot easier to handle recurring reservations in case of conflicting reservations.

Bug fixes

  • Fixed some issues with double booking in soft conflicts situations
  • Fields in Double Booking Matching Condition will now trigger revalidation on the reservation form when changed.
  • Fixed cross object Double Booking Matching Conditions not working in intelligent lookups.
  • Fixed booker25 installation failures on orgs with Shield Platform Encryption.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • If you want the QR code to check-in make sure to add it to the reservation contact page layout.

Version

4.81

August 19, 2022

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.

Features

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.

Occupancy component

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.

Take a look at our documentation to find out more

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.

Check out our documentation to see how this works in more detail


Bug fixes

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.


Admin Actions

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

Version

4.80

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.

Features

  • 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.
    Check out our documentation.

  • 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.
    Check out our documentation.

  • Added the ability to use the readOnly and hiddenReservationFilters on the mobile calendar when wrapping it.


Bug fixes

  • 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.
Version

4.79

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.

Improvements

  • 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. Look at our documentation how to configure this.
  • 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.

Bug fixes

  • 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.

Version

4.78

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.


Improvements

  • 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 fields​Calendars 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.


Bug fixes

  • 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.


Admin actions

  • 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
Version

4.77

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.

Improvements

  • Added a new endpoint that allows you to run the custom price calculation without inserting a reservation.


Bug fixes

  • Fixed an issue that generated a null pointer on the /availability endpoint when the requested range contained a reservation with null quantity.
Version

4.76

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.


Improvements

multi dimensional availability display image


Bug fixes

  • 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.


Admin Actions

  • 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.
Version

4.75

December 13, 2021

Some small changes are released in this version. Mainly related to the outlook sync and the timeslot picker.

Improvements

  • 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.

Bug fixes

  • 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.
Version

4.74

November 15, 2021

Features

  • 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.


Bug fixes

  • 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.


Admin Actions

  • 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.

Version

4.73

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.

Features

  • 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)


Bug fixes

  • Labels and translations have been improved, not everything was translated as expected.
  • Fix reservation contact permission error when deleting a reservation without reservation contacts.

Admin Actions

  • (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.

Version

4.72

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:


Features

  • 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.

Bug fixes

  • 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.

Version

4.71

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.


Bug fixes

  • Fixed a bug that would have certain dutch field and object translations appear if the users selected language was not dutch.

Version

4.70

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.


Features

  • 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.

Bug fixes

  • 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.

Version

4.69

June 15, 2021

This release packages the two-way Google Calendar sync.

Features

  • 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

Version

4.68

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.

Features

  • 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. 
    More detail
  • The real time form validation on the LWC calendar will now trigger when any relevant field changes.
  • Allowed the B25.Util_PluginManager.DynamicResourceTitleData object to be constructed to allow for unit testing of DynamicResourceTitle implementations.

Improvements

  • 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.

Bug fixes

  • 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.

Version

4.67

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.


Improvements

  • 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.


Bug fixes

  • 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.

Version

4.66

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.

Admin Actions

  • 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.

Improvements

  • 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.

Bug fixes

  • 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.

Version

4.64

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.


Improvements

  • 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.

Bug fixes

  • 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

Version

4.63

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.


Admin Actions

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.


Features

  • Related Lists - It is now possible to add any kind of related list to the reservation form, this is no longer limited to dimension junctions: Link
  • Flow Buttons - It is now possible to have custom buttons run flows. This can be done through configuration or code.
  • 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.


Improvements

  • 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.

Bug fixes

  • 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.

Version

4.61

December 3, 2020

This version brings a final much-requested feature from the VisualForce calendar to the Lightning calendar: Recurring Reservations. It also introduces a new component to quickly pick a timeslot and create a reservation directly from a record page.

Features

  • The Lightning calendar reservation form now displays a recurring reservation section if enabled on the settings tab.
  • There is a new component available for record pages, which allows users to select a timeslot and make a quick reservation for that record or its child resources. For more info: https://gen25-jira.atlassian.net/l/c/z871Y1Vn

Improvements

  • A new tab named “Lightning Calendar” has been included, showing the Resource calendar by default. The selected calendar can be changed in the Lightning App Builder.
  • Saving View records with a Slot Duration not conforming to a format of “0:00”, “00:00”, “0.00:00”, “00.00:00”, “month”, or “year” will now result in an error.
  • The Name field is no longer required for reservation templates on the Scheduler calendars.
  • The Lightning calendar now sets the default reservation type if defined on a resource type.

Bug fixes

  • The service section on the Lightning calendar reservation form no longer shows ‘Max null’ for services with an unlimited available quantity.
  • Fixed an issue with the custom ordering of View buttons on the Lightning calendar.
  • Fixed an issue where reservations on the single Lightning calendar with a buffer time had incorrect padding for their title text.
  • If the setting ‘Disable live update warning’ has been enabled, users will no longer get an error if the live updates PushTopic channel has been set to inactive.
  • Fixed an issue where the field ‘Dimension Allow Double Booking Field’ was not correctly responding to the value in the referenced field.
  • Both the VisualForce and Lightning calendars now trigger custom price calculations when ‘Services have a price’ has been enabled, even if ‘Resources have a price’ has been disabled.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • This version will automatically update any View records with a Slot Duration of ‘30’ (which indicates 30 seconds) to ‘00:30’ (which indicates 30 minutes).
  • When upgrading, you might get the following error: Lightning_Calendar: In Lightning component B25:multiCalendarWrapper, property calendarId has an invalid value Resources. This happens if you have previously deleted the default calendar named ‘Resources’. To get around this error, simply create a new calendar named ‘Resources’ and try again.

Version

4.60

December 2, 2020

On top of some bugfixes and small improvements, this version finally brings a popular feature of the VisualForce calendar to the Lightning calendar: Custom Buttons. It also contains upgrades to the Lightning calendar filters, giving admins more fine-grained control and a new multi-select option to enhance the experience of their users.

Features

Improvements

  • A new setting has been added to the Settings tab to disable the ‘no hover definition’ message when hovering over reservations in a context for which no hover definition exists.
  • Our components that are available in the Lightning App Builder now have an easily recognizable Booker25 icon, instead of the default Salesforce icon.
  • A new setting has been added to the Settings tab to enable the new ICU locale formats. Enable this setting if the “ICU Locale Formats” release update has been enabled in the org. For more information see: https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_globalization_enable_icu_locales_ru.htm

Bug fixes

  • Lightning calendar filters on lookup fields no longer show only a subset of results in some cases.
  • The Lightning calendar now correctly sets the default Resource Layout, if one has been configured. For more information on Resource Layouts, see: https://gen25-jira.atlassian.net/l/c/uR9U87yn
  • The Timeframe dropdown on the reservation form now no longer shows Timeframes that are Resource or Resource Type specific, if no Resource has been selected. This applies to both VisualForce and Lightning calendars. For more info on Timeframes, see: https://gen25-jira.atlassian.net/l/c/GJGP2thH
  • Fixed a bug where selecting a Timeframe on the Lightning calendar reservation form did not update the reservation times.
  • Fixed a bug where changing the reservation times on the Lightning calendar reservation form did not update the selected Timeframe.
  • Fixed a bug where (custom) price calculations were not triggered and the (sub)total price was not updated in the pricing section when adding, removing, or modifying services.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Add the new ‘Dimension Name Field’ to your Dimension Junction Display Setting page layouts.
  • The ReservationContact object is now related to Contact through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.
  • The ReservationContact object is now related to Reservation through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.

Version

4.57

September 29, 2020

Besides a number of bugfixes, this version introduces record pages with calendars and makes calendar components deployable. This comes with an important caveat if you are already using calendar components, so make sure to check the Admin Actions below.

Features

  • Lightning calendar components now reference calendars by name instead of id. This has the major advantage that pages containing calendar components are now deployable between orgs.
  • Lightning record pages for Resource and Staff have now been included. These are identical to the default record Lightning calendar components, except that they include a Calendar tab with a Lightning calendar component.
  • It is now possible to create calendars without dimensions. This also means you can now easily add calendar components to objects without first having to create a dimension for them.

Bug fixes

  • The ordering of time headers on the Lightning multi calendar was incorrect. The ordering was exactly opposite of the VisualForce calendar. Also an order of ‘0’ (zero) was treated as if the value was ‘null’ (empty).
  • The 'Capacity' record type on Conflict has now been included in all permission sets.
  • The Reservation Status tab is now accessible through the B25 Admin permission set.
  • Currency and checkbox fields of records in a junction list were sometimes emptied when rerendering the VisualForce reservation form.
  • Ordering of junction lists on the Lightning calendar was incorrect.
  • The reservation form on the Lightning calendar did not validate a field as required if it was marked as required in the field set.
  • The ‘N/A’ option for filter fields on the Lightning calendar is now also supported by picklists.
  • Cells shorter than 1 hour caused incorrect hiding of cells.
  • The ‘View in Salesforce’ button in the Details section of the Resources & Types tab did not work properly.
  • Automated Booking Rule logic is no longer executed from the Opportunity trigger when the user has no access to the Automated Booking Rule object, or no Automated Booking Rules are configured in your org.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Important! Because calendar components now reference calendars by name instead of id, if you have included any components on your own pages, they will give an error message that the calendar can’t be found. To fix this, simply edit the page and re-select the correct calendar.
  • If you have wrapped any calendar components inside your own components, you will need to change the value passed into the calendar-id. This value should now be the calendar name instead of the id.
  • Check if your time headers on the Lightning calendar are ordered correctly. Configuring time headers is described here: https://gen25-jira.atlassian.net/l/c/ZfrCuuH0
  • On install or upgrade, two dimensionless calendar config records will be created automatically. These have been included for convenience, so you can easily add calendar components on objects for which no dimension exists. Feel free to delete or modify these calendar records.

Version

4.56

September 11, 2020

This is a fairly large release with some bugfixes and improvements, in addition to a number of new features.

Features

  • The UI of filters on the Lightning calendar has been expanded for users without any permission to create filters. This allows users without permissions to have greater control over what they see, without the additional complexity available to users with permissions to create filters. For more on filters: https://gen25-jira.atlassian.net/l/c/ER1pV1u0
  • It is now possible to configure buffer time before and after a reservation, for example to indicate setup and cleanup times. More information here: https://gen25-jira.atlassian.net/l/c/fdpqrF39
  • It is now possible to configure a flow to run when a reservation is being created on the calendar, before the reservation form opens. This can be useful to pre-populate fields with dynamic values, but flows are powerful and allow more complex use cases as well. For more information, see: https://gen25-jira.atlassian.net/l/c/qoBe3WKt
  • It is now possible to include junctions (such as ReservationContacts) or service reservations in the prototypeReservation when wrapping calendar components in your own components, as described in here: https://gen25-jira.atlassian.net/l/c/Gzmk0KqK
  • Booker25 now includes a dedicated home page in Lightning Experience, with reports and dashboards to give you more insight into your Booker25 data. This home page (named ‘Home’) can be made available to your users if desirable: https://help.salesforce.com/articleView?id=admin_home_lex_app_assign.htm&type=5

Improvements

  • The Lightning calendar resource lookup now takes the reservation’s services into consideration, when showing available resources.
  • The Lightning calendar now shows a success message after saving a reservation.
  • The Lightning calendar reservation form now supports fields of the type Geolocation.
  • There is a new checkbox ‘Disable live update warning’ in the Details section of the Settings tab. Enabling this checkbox prevents users without PushTopic access from getting an error toast notification when loading the calendar.
  • Scheduler: the View lookup on Schedule now includes a filter that only shows Views of the ‘Schedule View’ record type.
  • ‘View Record in Salesforce’ in the dimension context menu on the Lightning calendar now opens in a new browser tab instead of a Salesforce tab.
  • The Lightning single calendar now displays month views as a grid.
  • The Lightning calendar reservation form now respects the checkbox ‘Hide Selected Items From Search Results’ on the Dimension Junction Display Setting configuration object (this object is described here: https://gen25-jira.atlassian.net/l/c/0F7o6HGH).
  • After reloading or navigating, the Lightning calendar now scrolls to the current day/time on wide views (with a horizontal scrollbar), if the current day/time is outside of the visible part.

Bug fixes

  • Long names of resources (or any other dimensions) in the left hand column of the multi calendar are no longer cut off.
  • Fixed a bug where the ordering of fields in the hover popup were not always consistent.
  • Realtime calendar updates (through PushTopics) now work correctly on the Multi Calendar component available for record pages.
  • Reservation filters are now applied also to reservations that are only visible on the calendar because of their dimension junctions.
  • The ‘CustomFields’ field set on Service Reservation now includes the necessary fields for service reservations on the Lightning calendar to work immediately out of the box.
  • The Lightning calendar reservation form did not always trigger a price recalculation when the subtotal field or relevant service reservation fields were edited.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Since the Lightning single calendar now displays month views as a grid, check your single month view configurations.
  • Check if your Schedule views have correct slot durations. Recommended values are 1:00 for multi schedule views and 00:15 or 00:30 for single schedule views.
  • If you are running into installation problems due to not having permission to “change dashboard colors”, first make sure you have this permission and then try again. Salesforce knowledge article: https://help.salesforce.com/articleView?id=000349418&language=en_US&mode=1&type=1

Add these fields to your page layouts:

  • Reservation Buffer Color on the Reservation Color page layout
  • Reservation Start Buffer Size on the Reservation Type page layout
  • Reservation End Buffer Size on the Reservation Type page layout

Version

4.55

August 20, 2020

Major new feature 'Custom Form Logic' which allows the form to be customized using Apex.

Major Features

  • Custom Form Logic: this feature includes a complete Apex API to let you take programmatic control over the Lightning calendar reservation form. It will let you do things like calculate values, update fields, generate custom lookup results, and more. See the documentation section here: https://gen25-jira.atlassian.net/l/c/AZYcVaSP

Features

  • Like the VisualForce calendar, the Lightning calendar reservation form now includes a Services section when the selected resource has available services.
  • Like the VisualForce calendar, the default price calculation logic is now applied by the Lightning calendar reservation form when relevant fields are modified by the user.

Improvements

  • Intelligent Lookups on both the VisualForce and Lightning calendar reservation forms now clearly indicate when no results are found.
  • The Lightning calendar reservation form now falls back to the default ‘Custom Fields’ fieldset, if no fieldset has been entered on the Reservation Type.
  • Reservation Types showing up in the dropdown at the top of the Lightning calendar reservation form are now properly left-aligned.
  • The B25 Community permission set now includes basic access on the Conflict object, so that community users will not fall back to hard conflicts when you have soft conflicts configured.

Bug fixes

  • The filters defined on the VisualForce calendar no longer cause ‘Field is not accessible in this context’ errors due to an outdated API version.
  • After deleting the last dimension or reservation filter on the Lightning calendar, the list is now cleared correctly.
  • The Lightning calendar reservation form no longer crashes under specific circumstances with a dependent picklist on the form.

Version

4.52

June 22, 2020

Smaller release with an improvement to the new filter UI and a few bugfixes.

Features

  • The filter UI on the Lightning calendar now supports editing existing filters. This allows you to change a filter from personal to global, or to edit which things other users can override (such as values and operators).

Bug fixes

  • Inaccessible reservation title fields are now hidden on the Lightning calendar instead of causing an error.
  • Fixed an issue on the Lightning calendar, where if the reservation sObject had multiple record types, saving a reservation would fail with an ‘unable to read sObject’ error.
  • Leaving the Calendar field blank when creating a Resource Title now gives a helpful error message instead of a cryptic one.
Version

4.51

June 12, 2020

Some bugfixes and smaller improvements, as well as some new properties on the calendar components to control the view, start date, and prepopulated reservation fields.

Features

  • The single and multi calendar components now have API properties that let you control the start date, the displayed view, and the prepopulation of reservation fields. Note that these are API properties and not page builder properties, so they are only accessible when wrapping these components inside your own custom components. More information here: https://gen25-jira.atlassian.net/l/c/XyEm72xh
  • The MultiSchedule calendar component now displays a context menu when clicking on the dimensions, just like the Lightning and VisualForce multi-row calendars do.
  • The Lightning calendar now prompts the user with a confirmation dialog when clicking Delete on the reservation form.
  • The option to create global filters is now disabled if the user has no permission to create global filters.

Bug fixes

  • The previous version contained a conversion script that would automatically generate JSON for the new filters, based on your existing filters on the VisualForce calendar. However that script contained a bug causing the conversion to be incorrect. This bug has now been fixed, and if an incorrectly converted filter is detected that filter will be corrected by the upgrade process.
  • Fixed a bug where the Lightning calendar would sometimes give the following error on refreshing: [Cannot read property 'x' of null]
  • Fixed a bug on the Lightning calendar where the order of fields in the reservation hover window would be reversed compared to their order on the VisualForce calendar.
  • The Lightning calendar no longer crashes when the configured reservation title group contains no titles.
  • The filter item modal no longer gets hidden behind the other filter panel if you have both filter panels open.
  • Fixed a bug where the Lightning calendar would not correctly display unavailabilities, (availability records that have the checkbox ‘Unavailability’ checked).

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Confirm that your ordering of hover fields is correct after upgrading, because these have been reversed for the Lightning calendar as part of a bug fix. More info on configuring hover fields here: https://gen25-jira.atlassian.net/l/c/b4xXk189

Version

4.50

May 10, 2020

On top of some bugfixes and small improvements, this version finally brings a popular feature of the VisualForce calendar to the Lightning calendar: Custom Buttons. It also contains upgrades to the Lightning calendar filters, giving admins more fine-grained control and a new multi-select option to enhance the experience of their users.

Features

Improvements

  • A new setting has been added to the Settings tab to disable the ‘no hover definition’ message when hovering over reservations in a context for which no hover definition exists.
  • Our components that are available in the Lightning App Builder now have an easily recognizable Booker25 icon, instead of the default Salesforce icon.
  • A new setting has been added to the Settings tab to enable the new ICU locale formats. Enable this setting if the “ICU Locale Formats” release update has been enabled in the org. For more information see: https://help.salesforce.com/articleView?id=release-notes.rn_forcecom_globalization_enable_icu_locales_ru.htm

Bug fixes

  • Lightning calendar filters on lookup fields no longer show only a subset of results in some cases.
  • The Lightning calendar now correctly sets the default Resource Layout, if one has been configured. For more information on Resource Layouts, see: https://gen25-jira.atlassian.net/l/c/uR9U87yn
  • The Timeframe dropdown on the reservation form now no longer shows Timeframes that are Resource or Resource Type specific, if no Resource has been selected. This applies to both VisualForce and Lightning calendars. For more info on Timeframes, see: https://gen25-jira.atlassian.net/l/c/GJGP2thH
  • Fixed a bug where selecting a Timeframe on the Lightning calendar reservation form did not update the reservation times.
  • Fixed a bug where changing the reservation times on the Lightning calendar reservation form did not update the selected Timeframe.
  • Fixed a bug where (custom) price calculations were not triggered and the (sub)total price was not updated in the pricing section when adding, removing, or modifying services.

Admin Actions

If you are upgrading, do the following to get the most out of this release.

  • Add the new ‘Dimension Name Field’ to your Dimension Junction Display Setting page layouts.
  • The ReservationContact object is now related to Contact through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.
  • The ReservationContact object is now related to Reservation through a normal lookup instead of a master-detail. The master-detail field will not be deleted from your org unless you remove it yourself. Any existing configuration still referencing the master-detail field (such as the default ReservationContact dimension junction) will continue to work until you remove the field.

Version

4.49

April 29, 2020

This release contains an important bugfix for the new Lightning calendar.

Features

  • The global setting ‘Show greyed out blocks on the calendar for unshared reservations’ is now also supported on the new Lightning calendars.

Bug fixes

  • Fixed a bug where the new Lightning calendar would sometimes give an error when clicking outside of it, like closing another tab for example.
  • The vertical and horizontal lines on the calendar now no longer disappear at certain browser zoom levels.
  • Fixed the validation logic giving an error when updating multiple reservations, where one or more had their status or type changed, and one or more that did not have their status or type changed.
  • Internal logic will now give a more meaningful error message containing the resource id if it can’t find that resource’s materialized path.

Version

4.48

April 10, 2020

Many improvements, mostly to the new Lightning calendars.

Features

  • Booker25 now includes a Multi Calendar Lightning component which can be placed on Lightning record pages, to display the children of that record. For the how-to article, see: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1564016669/Add+a+Calendar+to+a+Lightning+Record+Page For an overview of available calendars, see: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1529151489/Calendar+Differences
  • There is a new checkbox property ‘Show Availabilities’ on the Multi Schedule component. When enabled, any relevant availabilities with the checkbox ‘Include On Scheduler’ set to true will be loaded and shown to the user. When disabled, every row shows as always open. This property is enabled by default. For more information: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1593540609/Showing+Availabilities
  • The Lightning calendar now remembers the user’s last selected view when the page is reloaded.
  • The Lightning calendar now respects the ‘Prompt before moving’ and ‘Prompt before resizing’ checkboxes that have been configured on the calendar configuration record.
  • Links on the Lightning calendar now open a new Salesforce tab or a new browser tab instead of navigating away from the calendar.
  • The Lightning calendar’s reservation form now also has a view mode, as opposed to only an edit mode.
  • The Lightning calendar’s reservation form now hides the Pricing section if the global setting ‘Resources have a price’ has been disabled.
  • The resource lookup on the Lightning calendar’s reservation form now also searches in the resource’s context (parent and grandparent names, as shown between parentheses in the results).
  • Controlling and dependent lookups and picklists are now supported on the Lightning calendar’s reservation form.
  • Admins can now configure the height of Lightning calendar components using the new ‘Max height’ property.
  • The picklist property ‘Calendar’ on the Single Calendar component will now only show valid calendar records. Valid records are Calendars of the ‘Single’ record type, linked to a Dimension that is of the same object type as the record page that you want to add the component to.

Bug fixes

  • Reservation titles on the Lightning calendar would break if they were cross object references (like B25__Resource__r.Name).
  • The alignment of reservation titles on the Lightning calendar was incorrect for reservations that started before the current view started.
  • The Lightning calendar no longer breaks when Dynamic Dimension Groupings include a ‘None’ option. For more information on Dynamic Dimension Groupings: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/836173826/Dynamic+Dimension+Grouping
  • Dynamic Dimension Groupings on the Lightning calendar now show the record name instead of the id, if the grouping field is a lookup.
  • Dimension junctions that the user does not have read access to are now hidden on the Lightning calendar’s reservation form, instead of throwing an error.
  • If the user does not have create access on the Reservation object, the reservation form on the Lightning calendar now simply does not open, instead of throwing an error.
  • The search results for lookups on the Lightning calendar’s reservation form are now consistent with the VisualForce calendar.

Version

4.47

March 31, 2020

Many improvements and bugfixes. Performance boost for mass updating reservations that do not need conflict checking.

Features

  • When updating a reservation, Booker25 now only performs conflict checking if any field changed that is significant for conflict checking. So for example only changing the title of a reservation should not trigger conflict checking. This performance boost should be especially beneficial to clients using recurring reservations.
  • Booker25 now includes a Single Calendar Lightning component which can be placed on Lightning record pages. For the how-to article, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1564016669/Add+a+Calendar+to+a+Lightning+Record+Page For an overview of available calendars, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1529151489/Calendar+Differences
  • It is now possible to disable progressive rendering on calendar views. Progressive rendering is when the calendar does not render reservations until the user scrolls to that part of the calendar. If you disable this, all reservations are rendered when the calendar loads, even before the user scrolls to them, but the calendar takes a bit longer to load.
  • The Microsoft Outlook synchronization now allows you to map fields. To find out how, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1564344321/Mapping+fields
  • Reservation conflict error messages now give more information about which dimension the reservation has a conflict in.
  • The VisualForce calendars now remember the user’s last selected view. If the page is reloaded, this view will be selected instead of the default view as defined on the calendar.
  • On the Lightning calendar, if there is only one reservation type, the reservation form will no longer show a dropdown to allow the user to select a reservation type.

Bug fixes

  • On views spanning more than one day, Predefined Timeframes with an empty value for Number of Days no longer interpret the empty value as if it was zero. This allows the user to define the number of days by selecting a time range of multiple days. For more info on Timeframes: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1342799873/Add+Predefined+Timeframes
  • When a default Predefined Timeframe has an empty value for Number of Days, selecting a 24 hour period on the calendar no longer results in incorrect start and end times.
  • The Resource form on the Resources & Types tab now correctly enforces FLS (field level security).
  • Timezone conversion on the new Lightning calendar now also works correctly when your computer’s timezone does not match you user’s timezone in Salesforce.
  • It is no longer possible to create duplicate Dimension Junction records.
  • Dragging and dropping a reservation on the calendar now enforces update permissions and FLS for all records involved, including Dimension Junctions.
  • Timeframe queries throughout the application now correctly enforce FLS.
  • Clone and New Child actions in the dropdown menu in the left panel of the Resources & Type tree now also work in Microsoft Edge.
  • The new Lightning calendar now passes the current view’s start and end times to any dynamic resource titles you have defined.
  • The new Lightning calendar now correctly formats datetimes displayed in reservation titles. For more information on configuring reservation titles:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/443416595/Defining+Reservation+Titles
  • The Schedule calendar no longer shows an error message when trying to drag and drop a reservation template to another day. For more information on the Schedule calendar, see:
    https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1232240665/Scheduler
  • Removed the ‘Hide times without reservations’ and ‘Hide closed times without reservations’ checkbox fields on View that have become obsolete by the Column Hiding Behavior picklist introduced in version 4.40.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the new checkbox ‘Disable Progressive Rendering’ to your View page layout(s).
  • We are deprecating the B25 Read Only permission set. This means that you can still use it, but we will not be updating it with new fields. Make sure your security model does not depend on this permission set being kept up to date.
  • Check if you have translations for, or are referencing any of the following custom labels: CapacityExceeded, Capacity Exceeded Combined With Other Reservations, ReservationConflicts, Reservation Conflicts Without Times. These labels now have an additional merge parameter and you should review their usage.
  • Delete the now obsolete checkbox fields ‘Hide times without reservations’ and ‘Hide closed times without reservations’ from the View object, unless your own solutions depend on these fields.

Version

4.46

March 16, 2020

This release contains a major feature in the form of a new calendar built entirely as a Lightning Web Component.

Major Features

  • This release contains a new version of the calendar as a Lightning Web Component (LWC). Rebuilding the calendar as a LWC should have a notable positive impact on calendar performance. It also opens up possibilities of easily integrating the calendar into your own Lightning solutions. Not all features of the current calendar are supported yet, but most of them will be added in later versions. Feel free to reach out to us for specific requests. For an overview of the differences between the calendars, see: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1529151489/Calendar+Differences

Minor Features

  • The Dimension and Reservation Template filters on the Schedule calendars have been upgraded to support condition groupings and ‘and/or’ constructions.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

Version

4.45

March 2, 2020

Minor performance boost for a specific endpoint and a bugfix for the Outlook sync.

Features

  • Minor performance boost to the Available Time Ranges. get Time Ranges global Apex method.

Bug fixes

  • Fixed an issue where the Outlook sync to Salesforce would fail if a nextlink was returned.

Version

4.44

February 21, 2020

One minor UX improvement and a critical bug fix for clients using the Recurring Reservation component.

Features

  • All search inputs in the Booker25 UI now follow the official Salesforce Lightning design system.

Bug fixes

  • Fixed the Recurring Reservation component being broken by the Salesforce spring update.
Version

4.43

February 14, 2020

One minor feature and two bugfixes.

Features

-When creating a new Reservation Type, it now automatically gets linked to every existing calendar. When creating a new Calendar, every existing Reservation Type now automatically gets linked to it.

Bug fixes

  • Checkbox fields in related lists on the reservation hover now display checkboxes instead of the text ‘true’ or ‘false’.
  • On the Reservation form, new services or related records added to a reservation now populate the default field values defined in Salesforce.

Version

4.41

January 31, 2020

wo minor features and some bugfixes.

Features

  • The 'add resources' search in the calendar filter now no longer returns inactive resources and staff.
  • The Calendar Page parameter ‘start’ now accepts a larger range of date formats. This allows you to simply output a date or datetime field value onto a visualforce page, and pass that value into the start parameter. This eliminates the need for a visualforce page controller extension to format the date/datetime.

Bug fixes

  • Reservations with a status marked 'Final' no longer have an edit button on the Reservation form.
  • The Total Price field on the Reservation form now respects the Price field override. If the Price field is not null, Total Price will be equal to Price.
  • Fixed some links not opening in Internet Explorer 11.
  • Fixed the ‘View Record in Booker25’ action on the calendar resource context menu not opening the correct resource.
  • Capacity conflicts no longer cause the find Available DimensionIds REST endpoint to fail with a System.Final exception
  • The Recurring Reservation component now displays the correct warning message when loading a Recurring Reservation with an unsupported recurrence type.
  • Fixed the Recurring Reservation component incorrectly displaying the unsupported recurrence type warning depending on the users local timezone.
Version

4.40

January 24, 2020

Includes a new way to control what columns should be hidden on calendar views, as well as a few minor features and bugfixes.

Features

  • Replaced the ‘Hide Closed Times Without Reservations’ and ‘Hide Times Without Reservations’ checkboxes with a picklist named ‘Column Hiding Behavior’. This makes the available configuration options clearer and adds some new options. For all the options, see the article Column Hiding Behavior.
  • View, Start Date and Number of Weeks on Schedule are now required. Number of Weeks now defaults to 1.
  • Resource Layout has a new field Default. When creating a Reservation on the calendar in a Resource that has a default layout, this layout will be selected.

Bug fixes

  • Fixed the Recurring Reservation Lightning Component sometimes generating an error when attempting to make a reservation recurring.
  • Changes to Service Reservations in the custom price calculation will now be reflected on the reservation form.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the Column Hiding Behavior picklist to your View page layout(s).
  • Remove the ‘Hide Closed Times Without Reservations’ and ‘Hide Times Without Reservations’ checkboxes from your View page layout(s).
  • Review the article on Column Hiding Behavior to see what options are available.
  • Add the Default field to your Resource Layout page layout(s).

Version

4.39

January 13, 2020

Multiple minor features and some bugfixes.

Features

  • There is a new field Default Quantity on Service. When set to a number, any service added to a Reservation on the calendar will have this quantity by default. If left empty, it will default to the quantity of the Reservation.
  • Testability of Custom Price Calculations has been improved by making the B25.Util_PluginManager. Reservation Price Data constructor method global.
  • The POST and PATCH methods on the Reservations and ReservationContacts REST endpoints now return more detailed info for failures due to hard conflicts. The property is named ‘hardConflicts’, and contains info such as the type of conflict, the name of the Dimension, and the id of the conflicting Reservation.
  • All relevant sections on the settings tab now have loading spinners.

Bug fixes

  • Fixed that multiple inserts or updates of reservations in one Apex execution context could cause unexpected conflict checking behavior due to caching.
  • In the Feature console, the Outlook connections information is now hidden if there are no connections permitted.
  • The Multi Schedule Component now adjusts the height of event boxes when there are multiple titles.
  • Dates shown in hovers no longer show the time part
  • Layout and Timeframe could be edited on the Reservation form even when the Status was marked as Final.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the Default Quantity field to your Service page layouts.
  • (Optional) To preserve existing behavior, the upgrade will set the Default Quantity of all your existing Services to 1. Adjust this number for each Service if desired.

Version

4.38

December 19, 2019

Two bugfixes.

Bug fixes

  • When printing weekviews on the single calendar, day headers were not properly aligned with their columns.
  • Fixed an error that occured on the calendar when the view had Vertical Lazy Loading in combination with either of the two 'Hide times' checkboxes.

Version

4.37

December 13, 2019

New Lightning web component for Recurring Reservations.

Features

Version

4.34

November 29, 2019

One feature and three bug fixes.

Features

  • The border width of calendar events has been increased from 1 pixel to 2 pixels, for better visibility.

Bug fixes

  • Fixed that the Reservation Form opens with the correct local times after switching timezone.
  • Multiple insert or updates of reservations in a single execution context could lead to a B25.Resource Grouping. Resource Out Of Scope Exception under specific circumstances.
  • Selecting a reservation in the Search box on the calendar did not scroll to the date range if the selected reservation was on the current view but outside of the visible range.

Version

4.33

November 22, 2019

One feature and a bugfix.

Features

  • The Order field on the Calendar Reservation Type object now also controls the ordering in the Reservation Type section in the Reservation Filter on the Calendar. If you have super types, this section will now also group the Reservation Types by super type.

Bug fixes

  • Fixed a bug where deleting a Reservation would fail if it was linked to a Salesforce Event that was already deleted.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

Version

4.32

November 14, 2019

Some bugfixes and new features, most notably the Start and End times on View, and the new AvailableTimeRanges API method.


Features

  • There are two new fields on View, ‘Start Time’ and ‘End Time’, which allow you to set defaults for that View. This overrides the behavior of the checkboxes ‘Hide closed times without Reservations’ and ‘Hide times without Reservations’.
  • There is a new Custom Permission named ‘Allow Reservation Deletion When Updating Recurring Reservations’. This permission allows users to delete Reservations when required by a changed Recurring Reservation (such as decreasing the number of occurrences), without giving users explicit delete permissions on Reservations.
  • The Schedule calendar now features a download button, which allows users to download the calendar as a PNG, SVG or JPEG. This indirectly allows users to print calendars or to share them with others.
  • The new global Apex API class ‘AvailableTimeRanges’ enables developers to generate a list of timeranges for when a specific dimension scope is available. This method does not only inspect Availbility records, but also existing Reservations that might block a dimension from being booked. It is useful for answering questions like: ‘When can this room be booked?’ or ‘Given these Staff members, who is available when?’. Full documentation can be found here: https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/1299120129/AvailableTimeRanges


Bug fixes

  • Fixed a bug where record lookups on a reservation would not work correctly when iframed on a record page.
  • Fixed a bug where changing the currency on a Resource would sometimes cause an error.
  • Fixed a bug where simultaneously updating the currency and the timezone of a Resource would cause an error.
  • Fixed a bug where the calendar would sometimes not show the last day of the month for 31-day months.
  • Fixed a bug where the status lookup would not always open the status page correctly.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the ‘Start Time’ and ‘End Time’ fields to your View page layout(s).
  • Assign the ‘Allow Reservation Deletion When Updating Recurring Reservations’ permission to users that need it.

Version

4.29

November 7, 2019

Some minor features such as weekend highlighting, as well as a major feature that allows you set Statuses per Reservation Type.

Major Features

  • There is a new junction object ‘Reservation Type Status’ that allows you to define which Statuses are available for which Reservation Types. The Reservation form on the Calendar will only display statuses that are valid for the selected Reservation Type. Validity of a Reservation’s status and type combination is enforced in the trigger. When upgrading to this version, the upgrade script will link all your Reservation Types to all your Statuses. This will ensure all your existing Reservations are still valid on upgrade. Remove the created ‘Reservation Type Status’ junction records in order to disable certain status and type combinations.
  • If you have included a lookup to Status on your Reservation forms, these will now be rendered as a picklist. This picklist will only display Statuses that are marked as active and that are valid for the selected Reservation Type. If you have custom lookup filters on Status that you want to preserve, you can disable this feature by unchecking 'Display status as a picklist' on the Settings tab.

Minor Features

  • There is a new field on View named ‘Weekend Highlight Color’, which allows you to enter a hexadecimal or CSS color to highlight weekends on the Calendar.
  • The lookup from Reservation to Staff (B25_Staff_c) does no longer prevent deletion of the related Staff record.
  • Lookups on the Reservation Template form now support (non-dependant) lookup filters.

Bug fixes

  • Fixed a bug where the Schedule Calendar component would give an error if no Availability Lookup was configured on the related Dimension record. The behavior now matches the regular calendar by setting all dimensions to open from 0 to 24.

Admin Actions

If you are upgrading, do the following to get the most out of this Booker25 release.

  • Add the Reservation Type Status related list to your Reservation Type page layout(s).
  • Optionally, also add the Reservation Type Status related list to your Reservation Status page layout(s).
  • Add the 'Weekend Highlight Color' field to your View page layout(s).

Version

4.27

October 21, 2019

Many new features including two-way Outlook integration

Major features

  • Two way Outlook integration (requires an extension package to be installed, please contact us at info@booker25.com)

Minor features

  • Multiple overlapping Reservations on the calendar can now be collapsed, by filling in the new field on Calendar: Group Overlapping Reservations
  • With the new Order field on Reservation Types, you can now control their ordering in the dropdown on the Reservation form. Lower numbers come first.
  • Embedded calendars that get ids passed through the URL get parameters can now include the preserveIdOrder=true parameter to order the dimension records based on the order of the ids passed to the calendar.
  • We have included a global setting to hide the Reservation search box on the calendar, which is checked by default for new installs.
  • New field on View: Expand Events To Fill Cell. If this is checked, events shorter than a cell will be expanded to fill the entire cell. These events will get a duration bar to indicate their actual times.
  • For new Calendars and for existing Single Calendars, showing multi day events as a bar on top of the calendar is now the default.
  • The default value for the Autopopulate field on Dimension Fields is now changed from 'Only When On Form' to 'Always'.
  • With the new Order field on Predefined Timeframes, you can now control their ordering in the dropdown on the Reservation form. Lower numbers come first.
  • We have included a setting to set the default Reservation Type for events synced from Outlook.
  • Dependent picklists on the Reservation form now respect the Reservation Type's record type.

Bug fixes

  • Fixed a bug where if two overlapping reservations were updated in the same DML statement, one with null quantity and one with positive quantity, the DML statement would throw an exception.
  • Scheduler: If a predefined filter is changed from non-hidden to hidden, the filter would not disappear.
  • Fixed a bug where the reservation form would throw an 'invalid datetime' exception if the users locale used am/pm and the users language translated am/pm into a different value.
  • The B25_Admin profile now has class access on all Booker25 Rest endpoints
  • The Booker25 conflict check now no longers queries lookup fields to dimension objects if the reservations it is checking do not have a populated lookup to that dimension.
Version

4.23

September 13, 2019

Minor features

  • On the Single calendar, multi day Reservations can now be displayed as a bar on the top of the days on which the Reservation occurs
  • The Scheduler can now displays availability
  • The Scheduler App now contains the Calendars tab, and no longer contains the Resource Calendar tab

Bug fixes

  • Fixed an issue where custom Button labels always started with a 'v'

Version

4.21

August 30, 2019

Minor features

  • On the Resources & Types page, when looking at Resource's inherited Availabilities, changed the order of the list to better reflect the inheritance priority
  • Added a Global Setting to allow you to set the Subtotal field on Reservation to Read-Only on the Reservation Form, without removing the Update permission from the user. This allows you to prevent users editing the calculated value from your custom price calculation, without getting permission errors when the subtotal changes
  • The predefined filters on the Scheduler calendar have a new attribute ‘hidden’. When set to TRUE, the filter will not be visible in the filter section, and thus can not be modified by users
  • The multi calendars now render partial availabilities in time slot cells. If you have time slots of 1 hour for example, and a resource is open for the first 30 minutes of that slot, and closed for the last 30 minutes, the right half of the time slot is grayed out. Because this feature can result in a negative performance impact for large calendars, it is not enabled automatically when upgrading. To enable it, check ‘Enable Subcell Availability Rendering’ on the View record
  • When creating a new Reservation on the calendar, the selected time range now respects the partial availability of the time slots included in your selection. For example, if you have a time slot of 1 hour, which is open for the first 45 minutes and closed for the last 15 minutes, clicking in the open part of the time slot will create a Reservation with a duration of 45 minutes. This feature can be enabled by checking ‘Enable Availability Aware Selection’. For the optimal user experience, combine it with ‘Enable Subcell Availability Rendering’
  • The number of records between brackets on the Reservation Hover related list now shows a plus sign if more records exist but are not shown because of the configured limit
  • The Recurring Reservation checkbox is now hidden if Reservation is already recurring
  • The 'Titles' property of the Scheduler component now ignores excess whitespace around field names

Bug fixes

  • When creating a new Recurring Reservation, all date related fields are now filled based on the selected start date
  • Fixed a bug that caused the calendar to not load if this critical update is enabled. Existing Booker25 customers are advised to upgrade to version 4.21 before September 6th, which is when this critical update will be enabled by default.
  • Fixed error messages relating to Push Topics appearing to Community users. Community users won’t get real time updates but no longer get error messages because they can’t access Push Topics. Also changed the permission error for internal users to a more clear info message .

Version

4.20

August 16, 2019

Minor improvements and bug fixes

Minor features

  • Introduced three new fields called 'SObject Type' on Hover Definition, Reservation Title Group and Reservation Display Context. These fields indicate for what object the titles and / or hovers are meant. On upgrade, they are filled with the Reservation object.
  • (pilot) Added a Hover functionality to the Scheduler. To configure these bubbles, the 'Sobject Type' field from the previous bullet should be filled with B25__Reservation _Template__c

Bug fixes

  • Changing the name of a Resource Type now triggers a loading overlay, to indicate that the page is processing.
  • Fixed a bug where creating a Reservation, and then converting it to a Recurring Reservation, caused a Double Booking conflict with the converted reservation. The converted Reservation is now correctly incorporated into the series, if possible.

Version

4.19

August 2, 2019

Bug fixes

  • Fixed issue with Reservation Template object giving an 'Unable to read SObject' error while editting
  • Disabled 'Allow Reporting' on hidden Reservaiton Template object

Version

4.17

July 19, 2019

Features

  • Soft Conflict toast notifications When Soft Conflicts are enabled, toast notifications on the Calendar now provide more information about the cause of any Soft Conflicts
  • Resource reparenting Resources can now be reparented to another parent of the same Resource Type as the previous parent

Bug fixes

  • Recurring Reservations Changing the Reservation’s Start Time, End Time or End Date, and then clicking 'Update Future Reservations', is now considered as a non-destructive change, and will no longer result in extra Reservations being created
  • Recurring Reservations When saving a Recurring Reservation, and this Recurring Reservation fails to save for any reason, the error message is now shown to the user
Version

4.16

July 9, 2019

New features

  • Provided a clearer error message when a Resource could not be deleted because of children that do not allow deletion of their parents
  • Clean Booker25 installations will no set the 'Hide when empty setting' on Reservation Titles to true by default
  • The 'Option' status will now be named Optional on clean Booker25 installs
  • Clean Booker25 installs will now have the 'Prompt before moving' and 'Prompt before resizing' options on calendars enabled by default
  • The Resource and Reservation filters now have a 'Reset' button, to reset them to their initial state
  • Updated the help text on Reservation_c.Price_c to "When filled in, this overrides the value in the Total Price field."
  • Additional picklist values in the Reservation calculation method picklist field are now displayed on the Reservation Form
  • Clean installs now no longer enable Conflict checking on the Contact Dimension
  • Added a new option on the Calendar object: 'Display In User Timezone' (Experimental). This feature will display all Reservations relative to the user's timezone and also assume that Reservations created by a user are in that user's timezone. This feature currently has incompatibilities with many other Booker25 features, hence its Experimental status. Only enable this if you know and understand the consequences.

Bug fixes

  • Fixed the reservation form not pre-filling default values. This also resulted in incorrect filtering on certain Intelligent lookups if a default values was set on Quantity
  • Removed the 'Reservation Field' field on the 'Calendar' object, as it was no longer used. If no custom code in your Org makes use of this field, you can remove it
  • Added validation on the field set that is configured on the Dimension Junction Display Setting object. Previously you could configure fieldsets that did not exist, causing a crash when loading the Reservation Form
  • Added more columns to the Dimension Junction Display Setting related list on both the Dimension Junction and Reservation Type layouts
  • Changed Delete button confirmation when deleting a resource from 'Are you sure?' to 'Delete Resource'
  • On the Resources & Types, disabled the 'New Child' button on Resources that do not have any further child types
  • The Reservation Form no longer pops up with an error when the Owner field is included on the layout
  • Fixed the New Service Type lookup: when creating a new Service Reservation this will now open correctly in Lightning Experience

Version

4.15

May 22, 2019

Minor bug fixes

  • Fixed custom Dimension objects not having an icon
  • Allow Booker25 REST API to accept related objects with external ID fields
Version

4.14

May 14, 2019

Minor features

Added a lookup to Lead on the Reservation object

Bug fixes

Fixed a bug where enabling 'Lazy Reservation loading' on a View that had nodes in the Dimension object tree that were not real Salesforce objects would cause an error when loading Reservations

Version

4.13

April 29, 2019

Minor features

  • Dimension Junction validation Validation of DimensionJunction records on the Reservation form can now be delayed until the user has selected multiple options and has clicked ‘Add’. This improves the user experience on orgs where validation is slow due to large volumes. It can be enabled on the appropriate Dimension Junction Display Setting record. For more information on configuring Dimension Junctions see this article
  • New Resource Type Full Inheritance New Resource Types created through Apex or the API now have 'Use Full Inheritance' as the default Availability inheritance behavior
  • Loading Improved initial loading times for all calendars and other minor performance improvements
  • List Views New list views for the Reservation object: ‘All’, and one for every default Status
  • Tab label The custom VF tab 'Resources' has been relabeled to 'Resources & Types'
  • Context The calendar context menu now says "View Record in Salesforce" instead of "Show Record"
  • UX After creating a new Resource on the Resources & Types tab, the tree view on the left side now scrolls to the new Resource

Bug fixes

  • Fixed a bug where the calendar would display a white screen instead of the correct message when no Resources where available because of filter settings

Version

4.11

April 4, 2019

Minor feature

  • Apex API Added a global method that allows for the creation of Recurring Reservations through Apex code. This also has the ability to automatically skip any recurring instances where the Dimension records would not be available

Bug fix

  • Fixed a bug that would always show an error message on the Reservation Form if 'Resources have max capacity’' was turned off in the Settings

Version

4.10

March 27, 2019

Bug fix

  • Fixed missing permission on Resource
Version

4.9

March 26, 2019

Various bug fixes

  • When the Reservation Form is loading, any open datetime pickers will now be closed
  • Fixed the Settings page not loading on orgs with very large quantities of Reservations
  • Fixed a bug where in some edge cases, the REST API Availability endpoint would return open time slots with the wrong offset
  • Fixed a bug where the Single view calendar would not refresh the Dynamic Resource Titles if called with a specific view in the url parameter, causing them to be stuck on 'Loading…' forever
  • Fixed a bug where, for locales that displayed AM/PM, the PM time value would be converted to AM when opening the Reservation Form
Version

4.8

March 26, 2019

Features

  • Global validation method The global validation method now respects services
  • Removed Availability Record Types Removed Resource and Staff Availability Record Types
  • JavaScript profiling Admins can now enable JavaScript profiling on the Calendar page for all Users or specific Profiles from the Settings page

Bug fixes

  • Services are now validated on drag & drop
  • If a Service Reservation spans multiple Availabilities, the lowest quantity is now used
  • In some cases, Staff were not available in the Intelligent lookup
  • When there were no Availabilities and 'Lazy reservation loading' was enabled, users got an error message on the calendar
  • Fixed hover sometimes not disappearing
  • When the Resources were retrieved in multiple batches, the calendar crashed.

Version

4.7.4

March 15, 2019

Bug fixes

  • On clean install, set snap duration of Views to 00:15
  • Removed duplicate links on the Resource detail page in Booker25
  • 'View in Salesforce' and 'View calendar' are now grouped under one button on the Resource detail page in Booker25, displayed as '...'
  • Fixed an issue where changing Reservation Type or Super Type on the Reservation Form did trigger a re-render, but did not show the appropriate loading icon
Version

4.7.2

February 28, 2019

Bug fixes

  • The current day is now selected by default when creating a weekly Recurring Reservation
  • Fixed a null pointer exception that would occur when a user opened a Reservation, without having sharing access to the Resource record linked to that Reservation
  • Fixed an issue where calendars that had no hierarchy or field grouping defined, would no longer be sorted alphabetically
Version

4.7.1

February 26, 2019

Bug fixes

  • Added ~70 locales to the Booker25 date conversion. Booker25 datetime pickers now work all known Salesforce locales
  • Fixed an issue where users would receive an error when attempting to save the reservation Filter while a Reservation Type or Reservation Status had been deleted after they opened the calendar
  • Fixed incorrect error message when saving a hover field, with a cross object field name that did not exist
  • Fixed a bug where time change logic would not update when the time was changed by manually typing in the time fields on the date picker
  • Fixed a bug where changing the name of a non-reservable Resource Type would result in a null pointer exception
  • Fixed a bug that would cause multi picklists on the Reservation Form to influence other multi picklists on the form when multiple where present
  • Users can now once again create a new Service Type from the Service Type dropdown when creating a new Service
  • Updated the behaviour of the special keywords 'Week', 'WorkWeek' and 'Month' for 'View duration'. These will now only set the first day of a view, if the first day of view was not specifically set on the View record
  • Fixed a bug that would cause the Reservation Hover to display “Error loading details” if a complex 'ORDER BY' clause was specified in a related list
  • Fixed an issue where complex forms that displayed formula fields would sometimes encounter the ”Element value must resolve to a String type!” error
Version

4.3

January 31, 2019

Soft Conflicts

  • Soft Conflicts It is now possible to configure Booker25 to generate Soft Conflicts when problems are detected while saving Reservations. Soft Conflicts allow you to save a Reservation even when it has conflicts (such as Double Bookings). In this case the user gets a warning and a Conflict record is entered in the database so the problem can be solved at a later time. For more information, see the documentation.
Version

3.114

January 14, 2019

Many UX improvements and bug fixes

Minor Features

  • UX improvement (1) When deleting Booker25 configuration records through the Booker25 UI, a prompt is now shown explaining what deleting these records will do and asking for confirmation
  • UX improvement (2) The Booker25 calendars browser tab titles now display ‘Resource calendar’ and ‘Calendar’, instead of ‘B25_MultiResourceCalendar’ and ‘B25_Single ResourceCalendar’. This also fixes a bug where any object detail pages that embedded a calendar would get the tab name of the embedded calendar.
  • UX improvement (3) The Reservation search now displays ‘No results’ when no results are found, instead of showing an empty white list.
  • UX improvement (4) Hovering over the Year and Month in the calendar the date picker now changes the cursor to make clearer that these are clickable.
  • UX improvement (5) The calendar now gives a clear message indicating why no data is being shown when applicable.
  • UX improvement (6) The Reservation filter now behaves the same way as the Resource filter when clicking ‘Cancel’: the previous state of the filter is restored.
  • UX improvement (7) Users with a ‘B25 Admin’ Permission Set now have a ‘View Resource in Booker25’ link in the Resource dropdown menu on the calendar. This link redirects to the Booker25 Resource edit page.
  • UX improvement (8) Renamed ‘Configurations’ on the Resource edit page to ‘Layout’ for consistency.
  • UX improvement (9) The time labels that appear when dragging a new Reservation on the calendar, or when moving/resizing an existing Reservation are now dynamic in their precision: When the increments are smaller than 1 day, an hour marker is shown. When the view is longer than a day, the date is added.
  • UX improvement (10) When saving a new Resource (Type) the Booker25 Resource page will now select the new / cloned Resource after save.
  • UX improvement (11) Removed the tab headers on the Resource (Type) edit pages when no Resource (Type) was selected.
  • UX improvement (12) When clicking ‘View all’ in ‘Settings’ under ‘Services’, the columns of the ‘Recently Viewed’ are now the same as the ones shown on the previous page.
  • UX improvement (13) Moved the ‘View in Salesforce’ and ‘View Calendar’ to a sub-menu, aligned with the other buttons on the Resource page.
  • UX improvement (14) Created 'All Services' list view on the Services object.
  • UX improvement (15) When clicking on the Year dropdown in the calendar date picker, the currently selected year will be scrolled to.
  • UX improvement (16) When selecting a date through the date picker of the calendar, the calendar will now scroll to the selected date.
  • UX improvement (17) Changed the label ‘ServiceReservations’ to ‘Service Reservations’ on the Service Reservation.
  • UX improvement (18) The custom button dropdown on the Reservation From will now only be visible when more than one custom button are present. Else, the button will be shown.
  • UX improvement (19) When cloning a Resource (Type), the ‘Name’ field will now be cleared and focused on. The selection in the tree will also be removed.
  • UX improvement (20) Snap duration now also applies to resizing Reservations.
  • UX improvement (21) The Dynamic Resource Titles input object now also provides the current View name.

Bug fixes

  • Breadcrumbs (1) Fixed a bug where the breadcrumb on the Resource page would update wrong when clicking it.
  • Breadcrumbs (2) Fixed a bug where clicking the breadcrumb on the Resource page would refresh the page, instead of selecting the Resource.
  • Breadcrumbs (3) Fixed a bug where sometimes the breadcrumb of the Resource (Type) page would not link to the correct Resource (Type).
  • Resource Groupings Fixed a bug where updating a Resource Grouping would result in an error.
  • Context menu Fixed a bug where the Resource context menu on the calendar for grouped Resources was still visible on virtual Resource groupings.
  • Reservation Form Fixed a bug that caused the reservation form to close when pressing save even if errors were detected.
  • Header Fixed a bug where the Month View on the Single Calendar would display the previous month as the header.
  • Recurring Fixed a bug where updating a Recurring Reservation as a user that had no permission to a configured Dimension Junction object would throw an exception.
  • Recurring (2) Fixed a bug where deleting a recurring series deleted all future Reservations when called on a non-recurring Reservation.
  • Dimension Fixed a bug where no Dimension records would be shown on non-Resource calendars, with only the old grouping enabled.
  • Date picker Fixed a bug where attempting to scroll the year on the calendar date picker would instead scroll the underlying calendar months.

Version

4.42

February 6, 0200

Bug fixes

  • When hovering over a Reservation on the Calendar, checkbox fields are now displayed as read-only checkboxes instead of the text ‘true’ or ‘false’.
  • Fixed null pointer exception when not providing start/end time parameters to the {resourceId}/availability endpoint. An invalid parameters response is now returned instead.
  • You can now delete resource types that have no related resources. Virtual resources are now ignored and are automatically deleted when deleting the resource type.
  • The Name field on the resource form now enforces the required attribute.
  • Fixed availabilities not loading if grouping was enabled on a calendar and there were not enough dimension records to form a group.
  • Fixed the calendar not correctly updating when pushtopics were disconnected and a Recurring Reservation was destructively updated.
  • Fixed the Resource Type save button sometimes not triggering after updating the Resource Type name.
  • The Available Time Ranges .get TimeR anges global method now assumes that a null value for the reservation parameter means no fields on Reservation have an effect on conflict checking instead of throwing a null pointer exception.
  • Improved error messages when creating invalid Outlook sync connections.
  • Fixed the date picker on the calendar not navigating to the correct date if your timezone was GMT+1 or higher.
  • The small colored legend for the reservation statuses in the calendar filter has been removed. This was done because the shown colors were either invisible or wrong. Because of the flexibility of the Booker25 coloring system it is not currently possible to generate an accurate and usable legend.
  • Switching between Resource(Types) on the Resource & Types tab now blocks user interaction to prevent unexpected results from actions performed by the user while the page was loading.
  • Fixed the Resource(Type) tree context menu actions (‘new child’ and ‘clone’) not working if no Resource(Type) was selected.
Version

4.18

Minor features and bug fixes

Minor features

  • This release will start a batch that will fix reservations with a blank value in the local time text fields, so that they can now be displayed on the calendar.
  • This release includes an aura-enabled method to bulk-publish Reservation Templates: B25.Async Template Publisher.publish Templates (List templateIds), which returns the Id of the batch job that was started, so progress can be monitored.
  • It is now possible to create new records directly from lookups on the Reservation Template form.
  • It is now possible to display more information in the Dimension Junctions search results by creating a field set named ‘Custom_Labels’ on the object.
  • Remove 'Reservation saved with conflict(s)' text from conflict toast message
  • Schedule calendar Titles now accept parent fields

Bug fixes

  • Week forward not working: Fixed a bug where navigating to the right on the Calendar did not work if the view duration was less than a week and set to always start on a specific day of the week.
  • Fixed a bug where on the calendar reservation hover display, if one of the displayed fields had no value, the next fields in the layout grid would be moved up one spot.

Version

4.7.3

Minor feature

  • Debug Enabled Profile Added a setting called 'Debug Enabled Profile'. The string value of this setting can be set to a profile ID, in order to enable profiling information in the browser console on the Single and Multi view calendars. It can also be set to All in order to enable this for all profiles.

Bug fixes

  • Fixed an issue where the Settings and Resources pages would not load in Lightning Experience when 'Setup > Session Settings > Enable clickjack protection for customer Visualforce pages with headers disabled' was enabled
  • Fixed an issue where the date(time) fields in Booker25 would revert to their original value when the datetime pop-up was closed while the values were entered manually

Rico Ramars
Account Executive

Want to know more? Let us know!

Get in contact with our experts and find out what Booker25 can do for you!

Want to know more? Let us know!
Get in touch