Info |
---|
Excerpt |
Allows you to find the ids of available dimensions (such as Staff or Resources) that are available for a single given reservation. |
This functionality is also available in Lightning (Screen) Flow, see the last section of this page.
This class of the Apex API allows you to find Dimension records that are available for a certain Reservation.
...
Methods
Expand | ||||
---|---|---|---|---|
| ||||
Panel | | |||
| ||||
Code Block | language | java
Code Block |
---|
global static Set<Id> findAvailableDimensionIds(B25.AvailableDimensionIds.Context context) |
Parameters
Code Block |
---|
B25.AvailableDimensionIds.Context |
Class that contains the input parameters for this method. See the inner class B25.AvailableDimensionIds.Context
)Returns
Set<Id>:
The for more details.
Return Type
Code Block |
---|
Set<Id> |
Set containing all the dimension IDs that would not result in any conflicts, if used for the given Reservation and Dimension Field.
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| findSingleAvailableDimensionId(context) |
| |||||||
DescriptionThis method checks, in compliance with the conflict detection engine, which dimensions are available for a given reservation, and then returns a single ID of one of the dimensions.This is an invokable method and can be accessed from flows. Declaration Code Block | | ||||||||
|
Code Block |
---|
@InvocableMethod global static List<AvailableDimensionIds.Result> findSingleAvailableDimensionId(List<AvailableDimensionIds.Context>contextList ) |
Parameters
Code Block |
---|
List<B25.AvailableDimensionIds.Context> ) : Only a single context needs to be passes. This property is a list in order to support bulkification.Returns
|
bgColor | white |
---|---|
titleBGColor | lightgray |
borderStyle | solid |
title | Inner Classes |
Panel | ||||
---|---|---|---|---|
| ||||
Context Propertiesreservation (B25__Reservation__c, Invocable Variable):Reservation you want to insert. |
A list of objects that contain the input parameters for this method. See the inner class B25.AvailableDimensionIds.Context for more details.
Return Type
Code Block |
---|
List<AvailableDimensionIds.Result> |
List of results, see the inner class B25.AvailableDimensionIds.Result for more details.
Inner Classes
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
DescriptionThis class wraps the input parameters, most notably the dimension field that you are searching through and the reservation that defines the times as well as any conflict related properties.
Properties
Required. Reservation you want to get available dimensions for. B25__StartLocal__c and B25__EndLocal__c need to be set. Make sure that any fields that influence conflict checking are set (i.e. the quantity of the reservation, orB25__Status__r.B25__AllowDoubleBooking__c if your Dimension Field is configured to skip conflict checking when this field equals truethe status or the quantity), or the result might not contain all available dimensions.
Required. The name of the dimension field you want to search an available ID for. I.e. 'B25__Resource__c'.
Scope of dimension IDs to limit the search to. These have to be of the same SObject type as the dimension field that you are searching in.
Scope of dimension IDs that the invocable method searches through. This is a duplicate of the dimensionIds Set and is only used for B25.AvailableDimensionIds.
Reservation IDs to ignore in conflict checking. This allows you to exclude reservations you are in the process of moving. note |
Expand | ||||
---|---|---|---|---|
| ||||
dimensionIds | ||||
The dimensionIds and dimensionRecordIds properties narrow down the search scope. This greatly improves performance for dimensions with many records. It is recommended to fill this parameter when searching in dimensions with a large amount of records. | ||||
Panel | ||||
|
Code Block |
---|
@InvocableVariable
List<Id> availableDimensionIds |
A list of all the available dimension IDs
Code Block |
---|
@InvocableVariable
Id availableDimensionId |
A single ID of the first dimension
inin availableDimensionIds list.
Example
The following This example shows how you can use B25.AvailableDimensionIds.findAvailableDimensionIds
methodthe class in your own code:
Code Block | |
---|---|
java | public static Set<Id> getDimensions(B25__Reservation__c reservationInreservation, String dimensionFieldNameIndimensionFieldName, Set<ID>Set<Id> dimensionIdsIndimensionIds) { B25.AvailableDimensionIds.Context context = new B25.AvailableDimensionIds.Context(); context.reservation = reservationInreservation; context.dimensionFieldName = dimensionFieldNameIndimensionFieldName; context.dimensionIds = dimensionIdsIndimensionIds; return B25.AvailableDimensionIds.findAvailableDimensionIds(context); } |
GoMeddo Rest API
In the GoMeddo Rest API, a similar function called findAvailableDimensionIds exists, filtering a list of dimension IDs to retain only those where a specific reservation can be created.
https://apidocs.gomeddo.com/#/availability/post_findAvailableDimensionIds
Lightning (Screen) Flow Apex Action
This functionality is also available as an Apex Action in Lightning Flow, called 'Find available dimension records':
Set Input Values for the Selected Action | |
Dimension Field Name | Name of the Dimension Field to check |
Dimension Record Ids | List of IDs of Dimension records to check |
Excluded Reservation Ids | List of IDs of Dimension records to exclude |
Reservation | Reservation for which a Dimension record is needed |
Advanced |
> Manually assign variables | |
Available Dimension Id | Variable containing 1 resulting ID |
Available Dimension Ids | Variable containing 1list of resulting IDs |
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
hidden | true |
---|
...