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: 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 record
(if you can’t find this, you might have to add it to the page layout)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();
}