Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can use Reservation Display Contexts to conditionally display reservation information on a calendar, depending on factors such as the reservation type or the current view the user is on.

The information you can display in this way, can be found in two areas on the calendar:

  1. A Reservation Title Group, which is a collection of fields shown on the reservation block


  2. A Hover Definition, which is a collection of fields that is shown in a popup when the user hovers over a reservation. This can include related lists. More info on configuring Hover Definitions can be found here: Add fields and related lists to the hover


Simply put, a Reservation Display Context is a bunch of conditions that define when to display a specific Hover Definition and Reservation Title Group. For each reservation, Booker25 will attempt to apply the Reservation Display Context with the most specific conditions. For this reason we recommend having one fallback context with an empty value in all of the condition fields. That way you can ensure there is always at least some information shown to the user.

Defining Reservation Display Contexts

  1. Navigate to the Reservation Display Contexts tab


  2. Click New. You will see three sections on the form: Information, Context, and Reservation Display.


  3. In the Information section, fill in a name of your own choice, and an SObject Type. In almost all cases this should be B25__Reservation__c.
  4. In the Context section, specify the conditions under which you want to display the titles and hover. All of the context fields are optional. For a detailed explanation of how Booker25 determines what context to use, see the next section below.
  5. In the Reservation Display section, fill in the Reservation Title Group and the Hover Definition you want to display

An explanation of Context

A Reservation's context consists of four parts

1. Resource Type

The Resource Type of the Resource the Reservation is shown in. Only applicable on the Resource Calendar and only part of the context for backward compatibility with the old Reservation_Display__r.ResourceType__c field

2. Reservation Type

The Reservation Type of the reservation3. ViewThe View the reservation is currently shown in4. CalendarThe Calendar the reservation is currently shown in

So for example a reservation of type: Meeting, with B25__Resource__c = MeetingRoom 1 (of type MeetingRoom), being viewed on the Calendar called Resources on the View WeekView, would have the context of :

Resource TypeMeetingRoomReservation TypeMeetingViewWeekViewCalendarResources

But if the user changes to the view DayView the context would change to:

Resource TypeMeetingRoomReservation TypeMeetingViewDayViewCalendarResources

Determining what context will be used to determine what hover and what titles wil lbe shown.

When determining what context to use, Booker25 compares the reservation context to all contexts that have been defined.

First, all contexts with conflicting values are discarded. This means that if the Reservation for example has Reservation Type: Meeting room, all Contexts that have Reservation Type filled in with a different value wil be discarded.
If a Context has no value in the Reservation Type field, it will not be discarded.

Second, the remaining contexts are ranked in the following way:

  1. Matching resource type
  2. Matching reservation type
  3. Matching view
  4. matching calendar

Empty values do not count as a match.

If two contexts both have a matching value at the same level, they are then ordered based on lower level matches. The context with the highest ranking wil be used to determine what titles and hover to use.

Now follow a few examples of what context would match in certain situation using the following contexts:

Context name
  1. Resource Type
2. Reservation Type3. View4. CalendarFallback ContextMeeting ContextMeetingStaff Meeting ContextMeetingStaff CalendarStaff Calendar ContextStaff Calendar

A Reservation with Reservation Type: Meeting on the Resource Calendar will use the Meeting Context. The Staff Meeting Context is discarded because the Calendar has a conflicting value and the Fallback Context has no matches to add to it's rank.

A Reservation with Reservation Type: Meeting on the Staff Calendar will use the Staff Meeting Context. Both


Meeting Context and Staff Meeting Context match on the Reservation Type. They are further ranked based on lower level matches, in this case Calendar. It will not use Staff Calendar Context because Reservation Type is a higher ranking match.A Reservation with Reservation Type: Holiday on the Resource Calendar will use the Fallback Context. Both Meeting Context and Staff Meeting Context have a conflicting value for Reservation Type and Staff Calendar Context has a conflicting value for Calendar.A Reservation with Reservation Type: Holiday on the Staff Calendar will use the Staff Calendar Context. First, Meeting Context and Staff Meeting Context are discarded, based on the conflicting value in Reservation Type. Then, Staff Calendar Context has a higher match with the Calendar, over no matches for the Fallback Context. 

Sharing and contexts

Warning

Be careful when using Sharing on Contexts. When a user can see two or more Reservation Display Context records with the exact same context, Booker25 does not know which Context to prefer and picks one at random.

When Sharing is set to Private for Reservation Display Contexts, you can show different titles and hovers for different users, based on what context is shared with them. Booker25 normally prevent duplicate contexts to be inserted, to prevent ambiguity as to what context to show. When checking for such duplicate Contexts, Booker25 takes in to account the Sharing Identifier field. Use this field to identify with what Public Group of users this record is shared, and Booker25 will allow you to insert duplicate contexts if the value of this field is differentA detailed explanation of contexts can be found here: An explanation of Context.

Filter by label (Content by label)
showLabelsfalse
max5
spacescom.atlassian.confluence.content.render.xhtml.model.resource.identifiers.SpaceResourceIdentifier@101b6
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ( "hover" , "calendar" , "reservation-title-groups" , "singleresourcecalendar" ) and type = "page" and space = "BPD"
labelscalendar singleresourcecalendar reservation-title-groups hover

Page Properties
hiddentrue


Related issues




Panel
titleOn this page

Table of Contents