One slab of a Scheme (schemeId): a unit of qualification pairing child SchemeCondition rows (the tests) with child SchemeBenefit rows (the grants). definitionFilterCriteria decides how the conditions combine and rewardApplicability decides which of the qualifying benefits are granted; both have Custom Logic variants driven by expressions like {1} AND ({2} OR {3}) stored in definitionCustomLogic/rewardCustomLogic. Slabs are evaluated in absoluteSequenceNumber then sequenceNumber order. When a slab applies to a document, the document lines that received the discount or free item point back via their schemeLineId, and a SchemeLedger row is written per applied line. Despite the entity name, the display label is Scheme Slab.
Fields
| Field | Label | Type | Required | What it does |
AbsoluteSequenceNumber | Absolute Sequence Number | Calculated | | Primary ordering key for slab evaluation across schemes (slabs sort by this, then by SequenceNumber). |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
DefinitionCustomLogic | Definition Custom Logic | Text | | Boolean expression over condition ordinals, for example {1} AND ({2} OR {3}), used only when DefinitionFilterCriteria is Custom Logic Is Met. Each {N} refers to the Nth condition by sequence. |
DefinitionFilterCriteria | Definition Filter Criteria | PickList | Yes | How this slab's conditions combine: Always (No Criteria) auto-qualifies, All Conditions Are Met is an AND, Any Condition Is Met is an OR, Custom Logic Is Met evaluates the expression in DefinitionCustomLogic. Values: All Conditions Are Met, Any Condition Is Met, Always (No Criteria), Custom Logic Is Met. |
Id | Id | Guid | Yes | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Slab Name | Text | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
ParentSchemeLine | Parent Scheme Line | Lookup → SchemeLine | | |
RecordTypeId | Record Type | Guid, hidden | | |
RewardAccountGroup | Reward Account Group | Lookup → AccountGroup | | |
RewardApplicability | Reward Applicability | PickList | Yes | Which of the slab's qualifying benefits are granted: All Rewards, Any One With Lowest Value, Any One With Highest Value, or Custom Logic (benefit groups described by the expression in RewardCustomLogic; the user or caller picks one group). Values: All Rewards, Any One With Lowest Value, Any One With Highest Value, Custom Logic. |
RewardCustomLogic | Reward Custom Logic | Text | | Expression over benefit ordinals ({1} AND {2} OR {3}) that partitions the slab's benefits into selectable groups when RewardApplicability is Custom Logic; the applied group is chosen by index at apply time. |
SchemeId | Scheme | Lookup → Scheme | Yes | |
SequenceNumber | Sequence Number | Number | Yes | |
Title | Title | Text | | |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
UseLowerConditionRatio | User Lower Ratio for Rewards | Boolean | Yes | When the slab's conditions are combined, use the LOWEST qualifying count and target-to-achievement ratio across the conditions instead of the highest - the conservative reading for repeat rewards and ratio-based repeats. |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteListHeader | Delete | Delete | DeleteListHeader |
DeleteListRow | Delete | Delete | DeleteListRow |
Edit | Edit | Edit | Edit |
EditInLine | Edit | EditInline | EditInLine |
EditListHeader | Edit | EditInline | EditListHeader |
EditListRow | Edit | Edit | EditListRow |
New | New | New | New |