Booker25 Release notes

Version 3.106.4
Released Oct. 4, 2018

Resource groupings, minor features and bug fixes

Major features

  • Resource groupings Resource groupings allows for the grouping of (sub-) Resources, for example when using combined spaces. When one of the Resources in a combined space is reserved, the other (sub-)Resources in that space will also be blocked

Minor features

  • Time range format Added an option on View to allow for the configuration of the format used for the time range at the top of the calendar
  • Dimension Junction search Added an option on Dimension Junction Display Setting called ‘Hide Selected Items From Search Results’. When enabled, this option hides already selected items from further searches in that Dimension Junction list in the Reservation Form for specific Reservation Types

Bug fixes

  • When filtering Resources, pressing ‘Cancel’ and then reloading the page will no longer save the state of the Resource Tree to the state it was when ‘Cancel’ was pressed. It will now saveto the state of the last ‘Apply’
  • The Custom Filter header on the Resource filter will now be hidden when all custom filters have the ‘Hide on calendar’ checkbox set to TRUE
  • The height of Resources on the calendar will now properly scale when adding Dynamic Resource Titles
  • The height of events on the Single month calendar will now scale with Resource Titles
  • It is now possible to create a Dimension, even if Reservation does not have a lookup to the sObject
  • Fixed a display bug where character based currency indicators on the Resource page would overlap the field value
  • Removed the dependency on Campaigns
  • Fixed a bug where an error would be thrown indicating that the user had no permissions to edit the ‘Last modified date’ field even though the field was never updated
  • Fixed a bug where Reservations without a Reservation Type would not appear on the calendar
  • Fixed a bug where Reservations without a Reservation Status would not appear on the calendar
  • The ‘All’ list view on Dimension now shows all Dimensions instead of only the view user’s Dimensions
  • Fixed a bug where an error would occur when revalidating a Recurring Reservation after deselecting a Reservation from the conflict list
  • Fixed a bug where the Reservation Form would always show an error when editing an existing Reservation
Version 3.105.7
Released Oct. 2, 2018

Bug fix

  • Service pricing Fixed a bug where the price was no longer set on a Service Reservation’s Unit Price, when creating a new Service Reservation through the Reservation Form
Version 3.105.6
Released Oct. 1, 2018

Minor improvements and bug fixes

  • Dimension Junction related lists Improved the usability of the Dimension Junction Related Lists on the Reservation Form. They now retain their search after selecting an entry and keep focus allowing you to easily and quickly select multiple entries. These search fields now also support keyboard control.
  • Intelligent lookups Improved the usability of the Intelligent lookups. These lookups now support the UP and DOWN arrows to select an entry and ENTER to pick an entry. They can also be exited using the escape key
  • Recurring reservations When creating a new Recurring Reservation, the Start Date of Recurring Reservations is now once again set to the Start Date of the Reservation
  • Bug fix Fixed a null pointer exception that could occur when saving a Recurring Reservation without a Start Date. The form now notifies the user that the field is required.
  • Alignment Intelligent lookups, Service search fields, and Related Lists on the Reservation Form will now only scroll the form if the search box was outside of the viewport, instead of always aligning the bottom of the search box to the bottom of the form
  • Services conflict check Services with unlimited quantity are now ignored in conflict checks. This should improve Save performance when saving Services with unlimited capacity
  • Reservation form The Reservation form now tracks scroll position better. This should result in less changes in scroll position after the form re-renders
Version 3.105.5
Released Sept. 25, 2018

Bug fix

  • Fixed a bug where users that did not have Create permission on recurring reservations would get an error when opening a reservation if recurring reservations were enabled
Version 3.105.4
Released Sept. 19, 2018

Bug fixes

  • Fixed a bug where, on Orgs that use Super Types, loading an existing reservation would not display the header with the selected Super Type
  • Fixed a bug where, on Orgs that use Super Types, loading an existing reservation would set the selected Reservation Type to the default Reservation Type
  • Fixed a bug that would display 'Deletion successful', even though the record had not been deleted if the user did not have enough permissions to delete the record
  • Fixed a bug where users with only Read permission would get errors related to permissions when opening a reservation that had Reservation Types / layouts / time frames
  • Fixed a bug that prevented the reservation form from restoring the scroll position after a re-render, causing the form to scroll to the top
Version 3.105.3
Released Sept. 18, 2018

Bug fixes

  • Fixed a bug where the calendar would get stuck loading the availabilities if -because of sharing or filters- the user had no resources loaded onto the calendar
Version 3.105.2
Released Sept. 17, 2018

Bug fixes

  • Fixed a bug where editing one reservation within a series of a recurring reservations would sometimes create a new series of reservations
  • Staff related lists on the reservation form (created through Dimension Junctions) now respect the ‘Is Active’ checkbox on the Staff object, and not show inactive records in the search results
Version 3.105.1
Released Sept. 11, 2018

Bug fixes

  • Fixed a bug where Super Types would not change the Fieldset used to the Fieldset of the newly selected Reservation Type
  • Fixed a bug where the Single Calendar would show a Reservation for each Junction object attached to the Reservation, even if those Junctions did not link to the Dimension object that is displayed on the calendar
  • Added permissions to the Dimension Junction and Dimension Junction Display Setting objects to the Booker25 permission sets
Version 3.105
Released Sept. 7, 2018

New feature: Dimension Junctions

  • Dimension Junctions This feature allows you to customize which related lists are visible on the reservation form, and to plot reservations on a calendar for these related records, and to optionally detect conflicts between them
  • Field permissions When a user does not have permission on a custom field shown on the reservation form, the field is now hidden from the user instead of causing a error
  • Error notifications Configuration problems for the Multi Calendar are now displayed the same way as the Single Calendar
  • Bug fix Fixed a bug where the icon would not show on the Single Calendars
  • Bug fix Fixed a bug where large timezone offsets on the user would cause the open and closed times to not load correctly on the calendar
  • Bug fix Fixed a bug where not all user locale settings were being respected on the Multi calendar
  • Bug fix Fixed a bug where a notification would pop up on the calendar stating that the Live PushTopic Channel was disconnected, even though nothing was wrong
  • Bug fix Fixed a bug where installations that attempted to install new version without first installing version 3.93 would encounter installation problems
  • Bug fix Fixed a bug where upgrading from version 3.92 or older would cause installation problems if statuses where present without colours set
  • Bug fix Fixed a bug where if a reservation was updated to outside of the current viewport, the reservation would not be updated on the calendar
  • Bug fix Fixed a visual bug that would cause very long reservation hovers to appear partly outside of the hover box
  • Bug fix Fixed a bug where very long resource names would break the layout of the resource filter
Version 3.104.2
Released Sept. 18, 2018

Minor fix

  • Fixed a bug where the calendar would get stuck loading the availabilities if, because of sharing or filters, the user had no Resources loaded onto the calendar
Version 3.104.1
Released Aug. 27, 2018

Patch bug fix

  • Bug fix Fixed a bug that would cause an internal query to break if multiple Reservation Record Types exist
Version 3.104
Released Aug. 24, 2018

Various improvements

  • Configure day start Added a setting to View, allowing you to configure the day a View starts at.
    • Options include:
    • Locale (this takes the first day of the week according to the user’s locale)
    • Monday
    • Tuesday
    • Wednesday
    • Thursday
    • Friday
    • Saturday
    • Sunday
    • First day of the month
    • First day of the year
  • Relative snap duration Added an option to View which allows the snap duration parameter to function as a relative offset to the Reservation, instead of as an offset to the hour
  • Snap duration Fixed a bug where snap duration would make the Reservation flicker (move back and forth quickly in place) when dragging
  • Resource Title label Resource Title labels are now shown on the Multi Calendar
  • Help text Added help texts to two fields on the View object: “View Duration” and “Hide Closed Times”
  • Search related fields Related fields (such as B25Contactr.Name) can now be configured to show up in the Calendar search results. Use the field “Reservation Title Field” to configure which field is displayed
  • Search Dimensions The Calendar search bar now searches in all defined Dimensions. If you have a custom Dimension Project_c, entering the name of a Project in the Resource Calendar search bar will give you all Reservations that have a non-null Resource and a Project with that name
  • Permission error message When a user runs into a Permission issue, the error message now includes which Permission is the problem
  • Packaged Permissions (1) All packaged permission sets now grant Read access on the field “B25_Timeframe_c.Number_of_Days_c”. The Admin Permission Set now also grants Edit access to this field
  • Packaged Permissions (2) The Admin Permission Set now grants View All and Modify All on the following objects: Dimension_c, Dimension_Field_c, Reservation_Display_Contex_c, Reservation_Title_Group_c and Time_Header_c.
  • Bug fix Fixed a bug where the settings “Hide closed times without Reservations” and “Hide times without Reservations” on View would not always function correctly if the View was longer than 1 day, with slot durations of less than 1 day
  • Bug fix Fixed a bug where the collapsed/expanded state of a Resource was not remembered if that resource was Reservable
Version 3.103
Released Aug. 3, 2018

Minor improvements and bug fixes

  • Trigger execution blocking Triggers can be blocked through custom settings
Version 3.102.1
Released July 30, 2018

Minor bug fixes

  • Resource bug fix Fixed a bug where if users created a new Resource, the ‘Active’ status cascading would attempt to update the Root Resource. This could cause permission errors when creating new Resources
  • Reservation bug fix Fixed a bug where, if users did not have Create permission on Reservations but did have Edit permission, opening an existing Reservation would cause the form to throw an error
  • Reservation bug fix (2) Attempting to create a new Reservation on the Multi Calendar will now throw an error before opening the Reservation form, instead of opening the form and then throwing an error
Version 3.102
Released July 26, 2018

Various bug fixes

  • API_Visible_c field The Api_Visible_c fields on Resource is now on the Resource layout by default
  • Reservation height Tweaked the Reservation height calculations. Reservations now have more correct spacing and no longer cut off small parts of Reservation Titles at the bottom
  • Bug fix Fixed a bug where the conflict column would not properly show the Reservation Title
  • Bug fix Fixed a bug where the Hover would not load on the conflict column and the search
  • results
  • Bug fix Fixed a bug where, when embedding a calendar, links would not function because of
  • cross origin errors. When embedding, you now have to pass the ‘lightning=true/false’ parameter in order for Booker25 to determine if its context is Classic or Lighting Experience. Failing to pass this parameter will result in some links opening incorrectly if the user is in Lighting Experience
  • Bug fix Fixed an issue where Reservations that you delete on the Single Calendar would not immediately be removed, forcing a user to refresh
Version 3.101
Released July 23, 2018

Fixed an issue from previous version

Post install script Fixed issue in the post install script

Version 3.100
Released July 20, 2018

New way of managing Reservation Titles and Reservation Hovers as well as various smaller fixes

  • Reservation Titles and Reservation Hovers Updated the way Reservation Titles and Reservation Hovers are defined and assigned to Calendars and Views, simplifying their creation and maintenance
  • UI Removed deprecated text from the Resource Calendar page
  • Styling fix Fixed a styling issue where the reservation filter would not get a scroll bar when there was more information to show than could fit on the screen when opened on the Single Calendar
  • Bug fix Fixed a bug where Reservations that were deleted on the calendar did not disappear in real-time. The user had to reload the page for the Reservation to disappear
  • Bug fix Fixed custom buttons on the Reservation from not always working as intended in LEX.
  • Bug fix Fixed a bug where live updates would fail if a Reservation had a status with 'Hide On Calendar' = TRUE
  • Bug fix Fixed a bug where the Resource Titles would not correctly check if the field existed before saving
  • Bug fix Fixed a bug where the upgrade would fail
Version 3.99
Released July 11, 2018

Various improvements

  • Auto Populate on Calendar Dimension Fields now have a picklist ‘Auto Populate on Calendar’ which lets you control if this lookup field gets populated when creating a new reservation on the calendar
  • Advanced resource filtering Advanced resource filtering is now available for all dimensions. Use the ‘Enable Advanced Lookup Filter’ checkbox on Dimension Field to configure if advanced filtering should be enabled
  • Reservable parents Allowed for the marking of parent resources as reservable. Parent resources that are reservable act the same way as any other reservable resource. Booking a parent resource does not block the children from being reserved and parents are not blocked if their children are reserved
  • Prompts Added two settings to calendar “Prompt Before Moving” and “Prompt Before Resizing”. When enabled, users are asked if they wanted to move or resize the reservation before the action is performed.
  • Time headers Added time headers to the multi resource view configuration. This allows you to configure multiple time headers for a view that don’t have to match the cell duration in size
  • Calendar parameters Added the Calendar parameter to the single and multi calendars. If passed to the calendar pages, it overrides the default calendar and loads a different calender specified by calendar name
  • Calendar parameters (2) Simplified the process of linking to the multi resource calendar and embedding the multi resource calendar
  • Resource titles styling Updated the styling of the resource titles on the single resource calendar the color of the titles. It is now in line with the color of the resource name and the alignment has been changed to align with the resource name.
  • Prevent simultaneous changes You can now configure Booker25 to detect if changes have been made to a reservation that is edited on the calendar. If so, it will give an error on save, so the user does not overwrite a different user’s changes.
  • (In)active Resource status The inactive status of resources now propagates down the resource tree on save.
  • (In)active Resource status (2) Inactive resources will now no longer be shown in the advanced lookup filter.
  • Dependent lookup bug fix Fixed a bug where parent fields of dependent lookups could not be emptied on the reservation form.
  • Hover bug fix Fixed a bug where if the screen was to small the hover would fall of the screen instead of getting a scroll bar.
  • Hover bug fix (2) Fixed a bug where on very specific positions on the calendar the hover would fall 10-30px of the bottom of the screen.
  • Bug fix Fixed a JavaScript error that would occur when loading the calendar without the rsv parameter.
Version 3.98
Released June 29, 2018

Minor improvements

Multi-currency bug fix Fixed a bug where creating a Reservation without a Resource on the Calendar, would result in a Null Pointer Exception in multi-currency orgs. Bug fix Fixed a bug where the IDs passed to the Dynamic Resource Titles code would have field suffixes. The IDs passed now are once again valid Salesforce Reservation IDs Bug fix Fixed a bug where the ‘New Child’ button would show on the Booker25 Resource page, even if the Resource was reservable and could not have any children Bug fix Fixed a bug where the sharing on View and Reservation Title objects was not respected when retrieving these objects for displaying on the calendar

Version 3.97
Released June 28, 2018

Various improvements

  • Dimensions Dimensions allow you to link multiple Resource, Staff or Group records to a single Reservation, and plot that Reservation to all the related records' calendars
  • Resource Titles When a user does not have access to Resource Titles, the label will no longer be shown on the calendar
  • PostInstall script Small changes to the Booker25 fresh install and Single Resource calendar setup scripts:
  • Search focus Fixed a bug where highlighting a Reservation after searching for it was not working on the Single Calendar
  • View in Salesforce hover The ‘View in Salesforce’ link on the Reservation hover now opens in a new tab, instead of navigating the current tab
  • Recurring Reservations (1) In order to clarify how Recurring Reservations work, the label on the Reservation form that used to say ‘Repeat x times’ has been changed to ‘Number of occurrences’. This is a design practiced in existing calendars, making it clearer that this is the number of reservations created and not the number of times the recurrence repeats. The only situation where this currently makes a difference, is in a weekly occurrence with multiple selected days
  • Recurring Reservations (2) Fixed a bug where, when creating a Recurring Reservation with both the ‘Number of occurrences’ field and the ‘End Date’ field filled in, both values were saved. This caused the system to display both values when the Reservation was later viewed in non-edit mode. This made it so that the user could not see what option was actually used. The value that is not selected is now cleared before save
  • New Child button Fixed a bug where the New Child option was still visible on Reservable Resources in the dropdown and detail page on the Resources tab
  • Clone button Fixed a bug where using the Clone button on the Booker25 Resource page, when having a Resource selected, would look like the Resource was cloned but the user would actually still be editing the original Resource
  • Colour fields Removed the colour fields from the Reservation Status page layout, since these fields are no longer used. (Existing installations of Booker25 will have to manually remove these fields, as Managed page layouts are not upgradable)
  • Bug fix Fixed a bug where pressing Enter on a Resource or Resource Type page, would delete the Resource (Type)
  • UI fix Changed the way the context menu is displayed on the multi calendar. This fixes the icon clipping into the resource title on long titles.
  • Parameters The View, Start and RecordID parameters that where supported on the Single Calendar are now also supported on the Multi Calendar. If a parent Resource ID is supplied in the RecordID parameter, all child Resources are also loaded. This overrides user selected filters.
  • Reservation search Fixed a bug where the Reservation Title Field field (B25Reservation_Title_Fieldc) was no longer used to set what field would be shown when searching for a Reservation on the calendar
  • Settings The settings page is now more efficient. It no longer fails to load if an organization contains more than 1000 statuses, 1000 services or 1000 timeframes
Version 3.96
Released June 22, 2018

Minor improvements

Minor improvements

Version 3.95
Released June 8, 2018

Various improvements

  • Resource filter Updated the styling of the resource filter
  • Resource filter (2) Fixed a bug where the Resource filter tree would only reselect nodes that where expanded after a page reload. This could cause incorrect calendars to be displayed when users had Resources deselected in the filter, tree but they were hidden in a collapsed subtree
  • Reservation search Fixed a bug where the reservation search would not correctly navigate to the selected reservation on the Single Calendar
  • Reservation search (2) Fixed a bug where the reservation search would not scroll to the reservation if grouping was enabled and the group that contained the correct reservation had not been opened yet
  • Reservation search (3) Fixed a bug where the reservation search would not work in IE versions before IE 11
  • Reservation Hover Fixed a bug where the hover details on the reservations found using the reservation search would fail to display, for reservations without a resource
  • Reservation hover (2) Updated the styling on the reservation hover to improve the display of large numbers of fields in related list tables.
  • Reservation hover (3) Added a ‘View Reservation’ link in the footer of the Reservation hover
  • Recurring reservations Fixed a bug where recurring reservations would throw a null pointer exception when no Resource was selected
  • Month view Fixed a bug where Month mode on the Single- and Multi-Calendar would skip months if using the next and previous buttons on the calendar
  • Month view (2) Fixed a bug where printing the Single-Calendar month view would print only the headers of the month view
  • UI Capitalized the Record and Calendar words in the dropdown on the Multi-Calendar
  • SingleResourceCalendarWrapper Fixed a bug where the view calendar buttons on the resource group and staff records would open a page with the error the page SingleResourceCalendarWrapper does not exist.
  • Printing Fixed a bug where printing the Single-Calendar would cause the background of other Views to have a ghost image of the printed image as a background on WebKit browsers
  • Profile assignment Set the Reservation Title Record Types to be assigned by default on the System Administrator profile
  • Download button Removed the ‘Download Calendar’-button from the Single-Calendar, as the behaviour was missing formatting and information. Users that want to download an image of the Single-Calendar are advised to use the Print button and then select ‘Save as PDF’
  • Toast notifications Fixed a bug where on certain zoom levels in WebKit browsers the Toast notifications would not completely disappear
  • Default view Changed the default view on Single-Calendars to Week view on fresh installations
  • Reservation Colours Swapped the ‘Completed’ and ‘Canceled’ Reservation Colours on fresh install
Version 3.94
Released June 1, 2018

Single Calendar, providing an individual calendar for each Resource, Staff and Group. Dynamic resource titles, calculate and display what is shown on the calendar in real time.

  • Single Resource Calendar Added a new calendar type, displaying Reservations in a in a more traditional single calendar view
  • Single Resource Calendar accessThe Single Resource Calendar can be accessed from the multi-resource calendar by the drop-down menu on each Resource/Staff/Group in the left column, and from a button on the detail page on the Resource/Staff/Group records in both Classic and Lightning
  • Single Resource Calendar embedding The single resource calendar can be embedded on the Resource/Staff/Group detail pages using the Visualforce page wrappers packaged with Booker25. Simple wrappers can be written to embed it on other detail pages
  • Resource Titles In the same way reservation field values can be displayed on a Reservation block on the calendar using Reservation Titles, it is now possible to show resource field values on each Resource on the calendar
  • Dynamic resource titles Resource titles can now be dynamic. This means you can define an Apex class that will take start date, end date, visible and hidden reservations of the current view, perform logic (perform calculations for example) on those and display the result in a Resource Title. Using this, you could display things like remaining free hours or current number of reservations
  • Reservation Super Types Added Supertypes to Reservation Types. This picklist on Reservation Type allows you to group Reservation Types together
  • Filter multi-picklist support Added support for multi picklist fields in resource filters
  • Populate user field A setting has been added to allow the user field to be pre-populated on the reservation form with the current user
  • Reservation form bug fix Fixed a bug where pressing enter on the reservation form with ‘Advanced resource filtering’ enabled, would empty some fields on the form
  • New View Duration values Instead of entering a duration, the following values are now also accepted: Week, WorkWeek, Month
Version 3.93
Released May 25, 2018

Minor improvements

Minor improvements

Version 3.92
Released May 14, 2018

Minor bug fixes

  • Service Reservation DateTime picker Fixed a regression bug introduced in version 3.90 where the DateTime fields in Service Reservations would not display the DateTime picker, effectively making them impossible to fill
  • Service Reservation DateTime picker (2) Users can now manually type in the Service Reservation DateTime field if they do not want to use the DateTime picker.
  • Dependent lookup Fixed a bug where parent lookups of dependent lookup fields would display two input fields the first time the Reservation form was opened
  • Settings page Updated queries on the Settings page to more efficiently query on large orgs. This should make the Settings page load faster on orgs with a large number of Reservations
Version 3.91
Released May 1, 2018

Minor bug fixes

  • Reservation form Resource lookup filter The filter now no longer shows virtual resources when the setting ‘Show Only Rentable Resources’ is enabled
  • Reservation Types Reservation Types visible on the reservation form are no longer converted to lowercase characters
  • Reservation search Fixed a bug where clicking on a reservation in the reservation search results list did not navigate to that reservation on the calendar. If a reservation is clicked whose resource is not currently visible on the calendar, an error message is displayed
  • Unshared reservations Displaying unshared reservations as grey boxes on the calendar can now be enabled or disabled through a setting on the Settings page. This setting is disabled by default and it is recommended to not turn it on if not required
  • Calendar loading When loading Availabilities into the calendar and Salesforce limits are hit, the number of Availabilities being retrieved in one batch will be lowered, instead of failing to load
  • Server timeouts Server timeouts are now considered limit errors by the calendar when loading, and will trigger a batch size reduction instead of an error
  • Resource filter bug fix The checkbox next to the search box will now check/uncheck all resources in the tree when no search term is entered. Fixes regression introduced in version 3.90
  • Resource filter bug fix (2) The Resource Type filters were not applying to the calendar for users that used the resource filter before patch 3.89
Version 3.90
Released April 24, 2018

Minor usability upgrades and bug fixes

  • Advanced Resource lookup and filtering The ‘Advanced Resource lookup and filtering’ settings now default to true and will be set to true for existing orgs
  • Service reservations DateTime fields that are included in the Service Reservation field set open a DateTime picker. When opened, this DateTime picker will now default to the start date of the Reservation.
  • Default reservation type It is now possible to specify a default Reservation Type per Resource Type. You can do this on the Resource Type edit page. When this field is left empty, the ‘Default Reservation Type’ checkbox on the Reservation Type record is used
  • Reservation Type casing Reservation Types on the Reservation Form now use the casing that was specified on the record, instead of all being converted to lower case
  • Booker25 upgrade bug fix B25Local_Start_Timec and B25Local_End_Timec can now be updated more easily if the field is detected to be empty after upgrading Booker25 from a version where this field did not yet exist
  • PushTopic access and calendar updates When a user does not have PushTopic access, they now still get updates for their own changes (not for changes made by other users). This makes the calendar usable without PushTopic access (for Community users for example)
  • PushTopic access and calendar updates When a user does not have PushTopic Read permissions, a message is shown on the calendar stating that live updates are disabled because of insufficient rights
  • Resource filter & dependent filters Fixed a bug where filters would not save and update after a dependent field parent was set on the filter
  • Resource filter & dependent filters (2) Fixed a bug where, when reloading the filters from the database, the dependent filters would not display when the parent filter had a value
  • Resource filter dependent filters (3) Fixed a bug where clearing the value of a lookup filter when the page had dependent filters would cause an ‘Invalid ID’-error.
  • Resource filter & adding Resources Fixed a bug where the ‘Search for Resource’- field did not work on the Staff and Group calendars
  • Static Resources Updated and restructured Booker25’s Static Resources
Version 3.89
Released April 18, 2018

Minor Patches

  • Unshared reservations Reintroduced the feature where unshared reservations are displayed as gray bars on the calendar. This guarantees that users who do not have access to specific reservations due to sharing settings (and thus would not see them on the calendar) are aware of the fact that a reservation exists. Reservations that have a Status with the ‘Allow Double Bookings’ set to true will not be shown, as these reservations don’t conflict with other existing reservations. Users will not receive live updates for these reservation placeholders
  • Reservation trigger hooks Booker25 now supports the execution of custom trigger logic before or after the Booker25 Reservation Trigger. This is done by allowing users to create a class that implements the B25.Util_PluginManager.TriggerHook interface. The name of the class that implements this interface should be put into a B25System_Settingc named ‘Reservation Trigger Hook Class’. For more detailed instructions, visit https://gen25-jira.atlassian.net/wiki/spaces/BPD/pages/240320513/Control+trigger+order+of+execution+using+hooks
  • Resource order The Resource order field has been added to the Booker25 Resource page layout on the Resource tab, allowing users to more easily set the order of resources on the calendar
Version 3.88
Released April 16, 2018

New features include: Major rework of how the filter behaves The Resource lookup on the Reservation form now takes into account closing hours, availability and capacity * Minor usability improvements and bug fixes

  • Reservation Form Resource Lookup - Available resources There is a new setting ‘Only show available resources’ (visible when ‘Advanced resource lookup filtering’ is enabled). When enabled, the Resource lookup field on the reservation form will only show resources that are open during the timespan of the reservation
  • Reservation Form Resource Lookup - Unoccupied resources There is a new setting ‘Only show unoccupied resources’ (visible when ‘Advanced resource lookup filtering’ is enabled). When enabled, the Resource lookup field on the reservation form will only show resources that are unoccupied during the timespan of the reservation, i.e. there are no blocking reservations
  • Reservation Form Resource Lookup - Resource capacity There is a new setting ‘Only show resources with enough capacity’ (visible when ‘Advanced resource lookup filtering’ is enabled). When enabled, the Resource lookup field on the reservation form will only show resources that have enough capacity to hold the current reservation’s quantity
  • Filtering rework The resource filters are now stored in Salesforce and filters are applied server side. This means that every user will have access to their filters, no matter where they are and what device they are using. It also means that defining filters reduces the load time of the calendar, because only the resources that match the filters are loaded. The new filter now has three columns:

    • The leftmost column houses the reservation types filter, the reservation status filter and the custom filters
    • The middle column has new functionality: if you want to display some resources that don’t match your custom filters, you can use this column to add specific resources. If a parent resource is added here, their children are also automatically included
    • The third column houses the resource tree. This column allows to quickly show and hide resources without having to reload them from the Salesforce server, as this filter is client side

The first two columns represent the filters that are stored on the Salesforce server. When they are changed and the Save’ button is pressed, the resources will be reloaded form the server and displayed in the third column.

  • Hide Times Without Reservations This new setting on ‘View’ trims each day’s Start and End time to the first reservation start and last reservation end time. This is a more extreme version of ‘Hide closed times without reservations’, which would only hide times that the resource is closed in
  • Hide closed times without reservations Booker25 now sets ‘Hide closed times without reservations’ to true on fresh install.
  • Reservation form fields Booker25 now includes the Account and Contact fields in the field set on reservation.
  • Title fields Booker25 now has the Account name and Contact name as default title fields on fresh install
  • Salesforce page layouts The Staff and Resource availability Salesforce page layouts have been adjusted to include all required fields
  • Clickable Reservation Contacts Reservation Contact names are now clickable, allowing users to navigate to the corresponding Reservation Contact record when the reservation form is in non-edit mode
  • Timeframes Fixed a bug where when selecting a slot on the calendar that matched a existing timeframe, the timeframe field was not correctly set
  • Timeframes (2) Fixed a bug where when opening an existing reservation that had its times edited to no longer match the selected time frame, the reservation would then update the times to match the timeframe again
Version 3.87
Released March 30, 2018

Various performance upgrades and bug fixes

  • Performance improvement Booker25 will no longer check for conflicting resource layouts (room configurations), when a reservation is created in a resource that does not have any layouts
  • Reservation time zone If a reservation has a resource without a time zone, or no resource at all, Booker25 will now assume that the reservation’s time zone is the same as the creating user’s time zone. Previously Booker25 would assume the reservation’s time zone to be GMT
  • Toast notifications All Booker25 pages now use a new Toast notifications system for displaying errors. These notifications follow the Salesforce Lightning Design System (SLDS) and result in more consistent and clear notifications on all Booker25 pages
  • Better error communication The new Toast notification system allows Booker25 pages (like the Settings and Resources pages) to give better feedback to users about performed actions and errors
  • Service quantity Booker25 will now by default prepopulate the ‘Quantity’ field in the Service Reservation section on the calendar with 1 and automatically change any blank values to 0
  • Additional service validation Service reservations will now show an error when a negative quantity is specified.
  • Styling update The Settings page styling has been changed slightly so that the ‘Save’ button is now always in view at the bottom of the page
  • Bug fix Booker25 will now correctly update the user time when a reservation is moved to a resource with a different time zone
Version 3.86
Released March 23, 2018

New filtering functionality & minor improvements

  • UI Improvement The resource filter now has a checkbox next to the search box that can be used to select/deselect all resources that match the current search
  • Reservation / Resource load fix Fixed a bug introduced in v3.85, where reservations and resources would not load correctly into the calendar when one of the title, name or icon fields were null
  • Custom picklist filters fix Fixed and issue where custom filters on the calendar (Filterable Field object), referencing picklist fields were not being applied
  • Dependent custom filters fix Fixed an issue where dependent custom filters were not working on the Group calendar
  • Custom filters reload fix When restoring custom filters after a page reload, the filter now displays all dependent filters - even if there are multiple. It used to only show one. This also fixes the issue where not all dependent filters would disappear when two filters were cleared in quick succession
  • Live calendar updates performance improvement PushTopics now only update reservations in the current viewport, spacing out requests to prevent hitting Salesforce limits (For example: creating 100 reservations in one transaction using recurring reservations)
  • Removed seconds on reservation start/end time Dragging and resizing on the calendar will no longer create reservations with seconds precision. It will now round to the nearest minute
  • Grouping without availabilities fix When grouping was enabled and a grouping without any availability was expanded, the start and end times of the calendar where set to 0 and 24 instead of not showing anything at all
  • Automated Booking Rules error message Automated Booking Rules now give an appropriate error message when a configured field is empty, instead of giving the ‘Field does not exist’-error
  • Duplicate reservations fix Fixed a front-end bug where two reservations could appear on the calendar after creating one reservation
  • Recurring reservations erroneous error message When saving a recurring reservation (recurring every weekday) that had a validation error, the form will no longer error with “Weekday should be selected” on every subsequent attempt to save the corrected recurring series
  • Hide closed times without reservations When ‘Hide closed times without reservations’ is enabled on a calendar with slots shorter than one day and a duration longer than one day, the completely closed days are now filtered out correctly
Version 3.85
Released March 19, 2018

New features including: multi-day time frames, user specific filters, reservation form state manager, new time field labels and several bug fixes.

  • Booker25 API The Booker25 REST API now allows for the retrieval and creation of reservation contacts at the /v1/reservation-contacts/{Id} and /v1/reservation-contacts endpoints
  • Hide closed times without reservations The ‘Hide closed times without reservations’-setting on the ‘View’ object should now be respected again. It was previously always turned on for Views with less than one day of time and always turned off on views with more than one day in view. This setting thus needs to be reset on each 'View' record
  • Multi-day timeframe Timeframes now have a new field Number_of_Days that allows users to specify if the timeframe should span multiple days. 0 or blank will result in the old timeframe behaviour. Example 7:00 - 16:00 Number_of_Days = 2 will result in 16-03-2018 07:00 - 18-03-2018 16:00 on a reservation
  • User specific filter settings User setting on the calendar and resource pages (expanded Resources / Resource Types and Resource filter settings) are now specific to the user. This means that if two people use the same computer to use Booker25, they should have independent filters and expanded resources, instead of sharing these settings
  • Image in reservation (hover) Images are once again allowed in hover field values and title field values. There are however a few restrictions. Only relative urls are allowed for security reasons, for example: /servlet/servlet.ImageServer?id=XXXXXXXXXXXXXXX. Any non relative urls will result in a empty image tag. Only the ‘src’ and ‘alt’ attributes will be put in the resulting image
  • B25 Community User permission set A new permission set has been added named B25 Community. This permission set is identical to the B25 User permission set, except it does not have the Booker25 apps assigned to the user because Community users can not have assigned apps
  • Grouping filter behaviour When grouping is enabled on a calendar view, groups that are empty because of the filter will now be hidden
  • Reservation form state manager A state manager has been implemented on the reservation form. This means multiple quality of life improvements for the reservation form, making the experience of editing reservations in the calendar smoother. When the form re-renders it should now restore:
    • The expanded/collapsed state of each main section (Details, Contact List, Services, Pricing and Recurring Reservation)
    • The expanded/collapsed state of all subsections (selected contacts and selected services)
    • The scroll position of the form
    • The field that is currently in focus
    • The position of the caret in the focused input field
  • Services section (1) Existing services on a reservation are now collapsed by default.
  • Services section (2) When a new service is added to a reservation, the section for that service will be expanded by default and focus will be set to the first input field in the service section. This is the Quantity field by default.
  • Minor reservation form UI fix When a user does not have permission to edit the reservation opened in the calendar the form,will now say reservation instead of edit reservation.
  • Service / Service Type tabs Booker25 now includes tabs for Service and Service Type by default
  • Calendar loading notification The calendar will no longer show a live connection established notification, as this notification was overriding any potential error messages that happened at the same time
  • Reservation form labels Booker25 standard datetime fields have been relabeled to be more clear as to their function.
    • B25_Start_Date_c -> Local Start Date
    • B25_End_Date_c -> Local End Date
    • B25_Start_Local_DateTime_c -> Local Start Datetime
    • B25_End_Local_DateTime_c -> Local Start Datetime
    • B25_Start_c -> User Start Datetime
    • B25_End_c -> User Start Datetime
  • Service Reservation Service reservations can now have fields displayed on the row of the collapsed service reservation. To do this, add the fields to the ‘CollapsedFields’ field set on the service reservation object.
  • Small reservation size hover When reservations on the calendar are very small, resizing will be disabled on those reservations. This allows users to hover to see details on small reservations, as well as on reservations in large views.
  • Bugfix Staff availabilities are now respected when creating reservations
Version 3.84
Released March 9, 2018

Overall UX improvements

  • Hide Availabilities now works with Grouping Enabled Fixed a bug where activating both ‘Hide availabilities’ and ‘Grouping’, would cause the start and end times on the calendar to not be set to 0 and 24
  • Services Fixed a bug where it was possible to reserve any quantity of a service, if that resource did not have any availabilities defined for that service. Even though that should result in a ‘Service unavailable on this resource’ - error.
  • View in Salesforce Fixed a bug where the ‘View in Salesforce’ link on the Resources tab in Booker25 would not work after clicking ‘View in Booker25’ button on the resource record page.
  • Reservations without Resource Fixed multiple problems for reservations that were created without a resource; this should now no longer cause null pointer exceptions. Reservations without resource now also are not allowed to have a layout. The resource field is no longer required on the reservation form.
  • Inactive Staff no longer shown on calendar Fixed a bug where inactive staff were still visible on the calendar.
  • Grouping Reservation Fixed a bug where the calendar page would error because it was possible to attempt to create a reservation in a parent group node, created by the enable grouping setting.
  • Unshared Resources Fixed a regression introduced in the calendar performance update 3.79 where the calendar would no longer load resources if the user did not have sharing access to the ascendants of these resources instead of adding them to the calendar under a new subtree of the disconnected node.
Version 3.83
Released March 5, 2018

Various updates

  • Define REST API exposure on reservation It is now possible to define a field on the Settings page that will determine if a reservation should be visible through the Booker25 REST API. This allows users to expose specific reservations or specific groups of reservations through the use of formula fields. The field has to be a checkbox or formula checkbox field. If no field is specified, the old behaviour is preserved.
  • Services The Service Reservation section is now correctly displayed on the reservation form on the Staff and Group calendar. It now also shows all possible services when no resource is selected.
  • Lightning lookup Screens adjust when users click on a dropdown Lightning lookup, allowing its dropdown to fully expand in order to show available options
  • Checkbox styling Checkboxes on the reservation form should now have correct lightning styling.
  • Config info link Fixed fresh installs no longer having a link to the configuration manual in the default hover fields.
  • Reservation form error message When an error occurs on the reservation form on save, the form will now scroll up to show the user the error message
  • Lookup fields It is now possible to empty lookup fields on the reservation form and use the keyboard to specify a name instead of using the popup. This does mean that in order to use the popup, the search icon needs to be clicked specifically
  • Hover fix Fixed a bug where empty lookup fields in the path specified in hover fields and related list hover fields would cause the bubble to not load correctly. Now it displays the field as empty.
  • Calendar fix Fixed a bug where empty lookup fields in the path specified in calendar title fields would cause the calendar to no load all the reservation on the calendar. It now displays the value as empty.
  • Settings page save The setting page no longer autosaves when editing settings as this caused confusion. And because settings can now have errors, feedback is given at the top of the page on clicking the save button
  • Resource ordering Fixed a bug where the sorting order of resources on the calendar was reversed when using the Order field on resource. Previous behaviour: null-null-null-6-5-4-3-2-1-0. new behaviour: 0-1-2-3-4-5-6-null-null-null.
  • Recurring reservations Fixed a bug where when updating the start time of a reservation to a later time, would cause clicking 'Update future reservations' to duplicate this reservation.
  • Advanced resource filtering Three new settings have been added to the settings page:
  • Advanced resource lookup filtering When this setting is enabled the resource lookup on the reservation form is replaced by a custom lookup this custom lookup allows us to add more advanced filters to this lookup but it does not respect salesforce lookup filters. These filters are applied using the filter icon next to the resource lookup. If changes are made to the reservation that would influence the available resources the filter can be refreshed by clicking the reload icon next to the lookup and the filter can be removed by clicking the X next to the lookup.
  • Only show reservable resources This setting will filter the resources in the lookup to only show rentable resources. This should behave in the same way as the current lookup filter on the basic lookup.
  • Only show resources that have the selected services available This will filter the resource to only those that have the selected services available at the selected time with the selected quantities. This setting is not recommended for orgs with thousands of resources because this is not a simple calculation and could run out of time or if the filter would return a very large number of resources it could fail to fetch the results.
  • Recurring reservations Fixed a bug where clicking 'Update future reservations' with a destructive change on the first reservation in the series, would cause a failure of all of the reservations to save with a 'Entity deleted' error message.
  • Pricing Removed the resource pricing related fields on the reservation form when resource have a price is set to false in settings.
  • Hover Datetime fields Fixed a bug where Datetime fields shown on the calendar as a title field or hover field showed their GMT value instead of the value in the timezone of the user.
  • Opening times Fixed a bug where the calendar would not show and hide the opening times correctly for calendars with increments smaller than 1 hour and for calendars longer that one day with increments smaller than 1 day.
  • Reservation record limit Fixed a bug where creating a reservation without a resource would cause a error on organizations with more than 200.000 reservations.
  • Bugfix Fixed a bug where the lookup for service type on the new and edit service modal on the settings page would not always initialize itself correctly, causing it to appear empty and not display results when searching.
  • Bugfix Fixed a bug where custom lookup filters on the resource filter modal would not be restored correctly on page reload.
  • Bugfix Fixed a bug introduced in v3.80 that made the Delete and Edit dropdowns hide behind the table and create a scrollbar. The dropdowns have been removed and replaced by two buttons.
Version 3.82
Released March 1, 2018

Minor performance update

  • Minor performance update
Version 3.81
Released Feb. 23, 2018

Disabled External Sharing Model

  • Disabled External Sharing Model
Version 3.80
Released Feb. 20, 2018

Collection of usability and back-end fixes

  • Resource Type tree When first opening the resource type tree page, the type tree will be fully expand
  • Settings Removed the color codes and reservation preview on the status table in setting as these no longer represented what was actually displayed on the calendar, since the switch from status colors to reservation colors
  • Recurring reservation styling Updated the styling of recurring reservations to be more in line with the rest of Booker25
  • Resource filter behaviour Changed the way Booker25 handles new resources on the calendar
  • Pricing Disabling ‘Services have a price’ will now hide the price related fields of services from the reservation form and the settings page
  • Services When adding a service to a reservation on the reservation form, the service attributes are expanded automatically
  • Lookup click in reservation form Fixed a bug where clicking on a lookup in the reservation form would not redirect to the related record page but would instead would open a blank page
  • Service availability Fixed a bug where services that were not available for that resource would be shown in the services dropdown menu. Also reintroduces the remaining service count in the service dropdown
  • Hierarchy tree Fixed a bug where the expanded and closed nodes of the typetree would be forgotten when the user closed the browser
  • Field references Fixed a bug where field names could be used instead of relationship names in various booker field references
  • ‘Create new’ on lookup redirect Fixed a bug where the create new ‘X’ button on lookup dropdowns did not redirect the user to the new record page and instead opened a blank page
  • Calendar drag behaviour Fixed a bug where moving a reservation and then moving it again after saving into an illegal position would cause the reservation to snap back to the original position
  • Reservation form lookups Fixed a bug where having both the account and contact fields on the reservation form caused the account field to display wrong
  • Resource page scrollbar Fixed a bug where no scroll bar would appear on the resource screen when the related tables did not fit on screen
  • Currency Fixed a bug where the currency icon in the services table on the settings page would not respect the organizations currency setting
  • Reservation time update Fixed a bug where a non time-based change would cause the start and end times of the reservation to be recalculated. This happened when the time zone of the last user that edited the reservation, the time zone of the reservation's resource, and the time zone of the current user were all different. This would cause the reservation to change times
  • Closed resource booking Fixed a bug where it was possible to book closed resources if the resource closed at 24:00 and was closed the start of the next day. Reservation could be created going x hours into the next day depending on the time zone of the resource
Version 3.79
Released Feb. 9, 2018

Major performance upgrade

  • New way of calendar loading Calendar loading is now more reliable and capable of loading more resources and reservations. The calendar now provides feedback to the user while loading.
  • Grouping Grouping for the staff and group calendar allows for the delayed loading of availabilities for faster navigation on the calendar.
  • Caching Caching of availabilities for time ranges and resources.
  • Intelligent availability construction Significantly improves calendar loading times.
  • Error reporting Calendar notifies user on issues
  • Filter behaviour Improved filtering functionality
  • User preference storing Updated way of storing user preferences
  • Natural resource sorting Default sorting updated to be more human-like
  • Search navigation Fixed minor issues with search
  • Bugfix Fixed an issue where the labels on the reservation form were the wrong fields on Start and End time inputs.
  • Bugfix Fixed a vulnerability in the calendar.
Version 3.78
Released Jan. 11, 2018

Introduction of Recurring Reservations

  • Daily / weekly / monthly / yearly recurrence
  • Update individual / a series of reservations
  • Overview of conflicts upon save of recurring series
  • Bugfix Fixed lookups not functioning correctly on the reservation form.
  • Bugfix Fixed reservations not being shown real-time when Create Events is enabled in Settings.