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: Dimensions, and how to configure them.
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.
Navigate to the Reservation type where you want the related list to appear
Go to the related tab and add a Related List
You need to specify the API name of the relation which can be found by navigating to the lookup field.
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.
(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
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();
}