If you want to expose Parent/Child reservations to an external website, it starts with creating a reservation blueprint, this basically determines what the actual parent and child reservation combination consists of and creates the possible combinations for the API to consider and which fields should be set on which reservation.
Try to make these templates as specific as possible as they determine how many combinations will need to be conflict checked. This is a very performance demanding task for Salesforce, so try to keep the options as limited as possible.
Extending the number of staff/resources and or sub-reservations multiplies very quickly.
Blueprint
The blueprint offers you the possibility to determine in which order a parent/child reservation combination should be made and how long it takes. You can set a duration and use the Order field to control the sequence in which the child reservations should take place. If you want some buffer time between child reservations, give them a reservation type which has a buffer.
Fields to set
The blueprints also offers the possibility to determine which “fields to set” on the parent or child reservation. Allowing you to specify what Reservation type it needs to have, if it needs a staff and or resource.
It offers 5 methods to set the fields
Method to get value | Description | Example Usage |
---|---|---|
Copy from parent resource | Allows you to copy the value from the parent resource | Add all reservations to the same resource |
Literal value | Allows you to put a literal value or id in a field | Give the same note/title to every parent/child reservation |
Record by name | Allows you to set a record by name in the field | Set a reservation type |
Child of Parent Resource | Allows you to specify that the Resource in the child reservation needs to be a child of the parent reservation resource. | Allows you to specify that the Resource in the child reservation needs to be a child of the parent reservation resource. |
Available at Parent Resource | Allows you to specify staff or or other dimension should be available using in the Parent Resource using a Multi-Dimensional Availabilities | Only staff members available in Amsterdam should be considered. |
Filter rule
On both “Child of Parent Resource as Available at Parent Resource you can apply dimension filters. This allows you to narrow down which dimension records need to be considered. For example you can say, Child reservation 1, needs a resource of type “intake room” which is available in the parent resource. Or you could say, Only Staff members of type “Nurse” should be considered in Child reservation 1.
Example to for a setup:
Go to Reservation Blueprints
Create a new blueprint called Appointment to create the parent
Give it a duration of 60 minutes and a Name and save
Go to fields to set
Add reservation type: Appointment
Create a new child blueprint called Intake
Give it a duration of 15 minutes
Give it a order, this determines the sequence in which the reservations take place, 1 in tis case
Go to fields to set
Add reservation type: Intake
Add fields to be set: Reservation Type
Add fields to set Staff Available in parent resource. ( this only takes into account staff members available in a resource using Multi-Dimensional Availabilities
Then add which resource this child needs to have. In this case it needs to be a child resource of the resource of the Parent reservation.
Usefull links: