Related Lists on the Reservation Form

GoMeddo allows you to customize which list are being shown on the reservation form. There are two different types of lists:

  • Related Lists - Related lists are simple lists related to the reservation object. They have similar functionalities as related lists in Salesforce.

  • Dimension Junctions - These records represent a many-to-many relationship between a reservation and a dimension. These records allow conflict detection and can have their own calendars.

This article explains how to configure the first type of list (Related Lists) to be shown on the reservation form. Configuring the second type of list (Dimension Junctions) is covered in another article: https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/644186154.

Dimension Junctions are supported on both VisualForce and Lightning calendars, but Related Lists are only supported on Lightning calendars.

1. Create Related List records

Make sure the object that you want to link to the reservation has a lookup or a master-detail relation to the Reservation object.

  1. Navigate to the Reservation type where you want the related list to appear

  2. Go to the related tab and add a Related List record
    (if you can’t find this, you might have to add it to the page layout)

  3. You need to specify the API name of the relation which can be found by navigating to the lookup field.

  4. On the object, you are trying to link you can create a fieldset which shows when you add a record to the related list in the reservation form. The API name of this fieldset can be put in the corresponding field.

  5. (optional) If you want your related list to be copied over when creating recurring reservations populate the Recurring Identifier Field with a field that will be unique between records under the same reservation. If no such field exists you can create a text field and check the Auto Populate Recurring Identifier checkbox. The field will then be filled with a randomly generated identifier during the recurring reservation creation process.

Field

Type

Required

Description

Field

Type

Required

Description

Relationship Name

Text

Yes

Holds the API name of the relation. This can be found on the lookup to Reservation field on your object

Label

Text

No

Label to appear on the reservation form

Order

Number

No

When multiple related lists are shown on the reservation form the related list with the lowest order wil be shown at the top. Blank values are treated as last.

Field Set

Text

No (but advised)

Name of the fieldset on the related object which is used to capture data of that object in the reservation form

Reservation Type

Lookup

Yes

Relates to the reservation type for which this related list is applicable

SObject Type

 

No

Will be automatically filled in when you save

Reservation Lookup API Name

 

No

Will be automatically filled in when you save

Recurring Identifier Field

Text

No

Name of a field on the related list sObject that can be used by the recurring reservation logic to identify records between different reservations in a series. This field should be relatively unique when looking at all records under a single reservation.

Auto Populate Recurring Identifier

Checkbox

No

When checked the Recurring Identifier field will be automatically managed. It will populate the field on each related record that is part of a recurring reservation. And update them when required. (Note do not check this checkbox if the Recurring Identifier field is set to a field you use for actual data storage.)

 

After you’ve added the record in the system you can see a newly created Related List in your reservation form (when you selected the correct reservation type). It shows a button to add a record:

When you add a record the fields selected in your fieldset will show up.

 

2. Create Trigger hook

For every Related List you create, make sure you also create a Trigger for its object, which calls the following method: B25.PermissionCheckingTriggerHook.execute()

This makes GoMeddo check permissions on the object. Make sure to replace <Related_List_API_Name> with the actual API name of your object, and <Trigger_Name> with a name that makes sense to you.

trigger <Trigger_Name> on <Related_List_API_Name> (before insert, before update, before delete, after insert, after update, after delete, after undelete) {     B25.PermissionCheckingTriggerHook.execute(); }