Configure the Meal Penalty Integration
The Meal Penalty integration grants a meal penalty to employees who are assigned the pay rules in the PRMP-v1.1_ParametersMapCRT cross-reference table when a break rule is violated. This integration applies a paycode A category of time or money that employees earn, for example, Regular Hours, Bonus, or Sick. edit to the employee’s timecard to grant the meal penalty.

- Do not configure an automatic break-deduction rule when you configure and use the Meal Penalty integration.
- Make sure that the employee’s work rule has only a break rule because the integration generates the penalty.
- Do not enable multiple penalties in the same integration. Otherwise, conflicts can occur. Example: A Late Meal or a Missed Meal can be interpreted the same way.

Before you configure this integration, you must do the following:
- Configure the following:
- Paycodes: Paycodes which provide the meal penalties.
- Comments: Comments for the meal penalty paycodes.
- Breaks: The pay rules that are assigned to the employees must have a break assigned in the relevant work rules.
- Pay Rules: The pay rules that are assigned to the target employees.
- Get the URL, User, and Password for the APIGatewayServer.
- Deploy the Meal Penalty integration pack; see the Deploy Integrations topic.
Configure the integration

-
Open the Integration Template Designer: Select Main Menu
> Administration > Application Setup > Integrations Setup > Design Integration Templates. Note: If prompted, enter your Username and Password. Click Tap Log in.
- Select the Manage tab > Atom Management.
- Select your environment.

- In Administration, click tap Environment Extensions.
- In Process Filter, click tap the magnifying glass
. It can take several seconds before the button becomes active.
- Scroll to and select the integration pack: Meal Penalty > PRMP-v1.1.
Caution: If you select Use Default for the connection settings and process properties, ensure that Value is blank. If Value is not blank, that value overrides the default value whether or not Use Default is selected or cleared. Example: If the default value is abc, but Value shows xyz, the integration uses xyz regardless of the setting of Use Default.

- Select Connection Settings.
-
From the Connection dropdown list, select and configure the following:
Connection Settings Setting Required Actions APIGatewayServer Required (Optional) To change the default API gateway server:
- Clear Use Default.
- Enter the URL to the server.
Example: <tenantURL>/api
SFTPServer
Required The SFTP server setting defines the connection to the file that contains the records. Integrations access only the internal SFTP account.
To change the default SFTP server parameters:
- For each field, clear Use Default.
- Enter the following values:
Enter the name of the internal Host.
Enter the number of the Port for the internal SFTP account.
In User, enter the username for the internal SFTP account.
In Password, select <Encrypted>. Enter the new password for the internal SFTP account. Click Tap Apply.

- Select Process Properties.
Caution: Do not edit the default values of the AuthenticationProperties. By default, cookies are enabled and set the values for authentication properties.
-
Select PRMP-v1.1_ProcessProperties to set process properties that must be configured before the integration can run.
Process Properties Property Required Actions Hyperfind A search engine that filters and selects groups of employees through queries that specify conditions or locations (criteria). ID Required Default = 1 (shown as blank) which indicates All Home A query that returns a list of employees associated with a manager's employee group. All Home finds people who are active employees or active users as of today. and includes all active employees.
To use a Hyperfind query for another group of employees:
- Clear Use Default.
- Enter the ID of the Hyperfind.
Note:
- Ad-hoc Hyperfinds are not supported.
- All Home does not include terminated and inactive employees even if they have totals during the period. To include these totals, configure a Hyperfind that includes terminated and inactive employees and select that Hyperfind in this process property.
- The maximum number of employees in a Hyperfind is 3500. To process more employee records, divide the population into smaller Hyperfinds to run sequentially.
Ruleset Required The break rule set to apply during the integration runs:
- Clear Use Default.
- Select the rule set.

Caution: Before a cross-reference table can be downloaded when the integration is run, you must clear Use Default in Process Property > {ProcessName}_CRTConfig and enter the header names for each cross-reference table. If the header names are already in the field, copy them to the clipboard or a text file, delete the header names from the field, and paste the header names back into the field. Also, you must select Override in the steps that follow.
Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.
A cross-reference table (CRT) translates parameter values in an integration as follows:
- Organizes data values into rows and columns:
- Maximums = 20 columns, 10,000 rows.
- Can combine values from multiple columns to determine a single output value.
- If more than one row matches a reference value, the first match is the output value.
- If no match is found, the output value can be null, or the integration can produce errors.
-
Caution: For the cross-reference tables that you are customizing, make sure that Use Default is not selected in Process Properties > {ProcessName}_CRTConfig, and that the headers are defined.
- Select Cross Reference.
-
From the Cross Reference dropdown list, select the following cross-reference table to configure the rule set, parameters, and values for processing meal penalties:
- PRMP-v1.1_ParametersMapCRT
Enter the following values into the table:
ParametersMap cross-reference table Rule set Parameter Value Description Meal60 PayRulesToProcess _PRMP PR1,
_PRMP PR2The list of pay rules that require meal penalty checks. Meal60 QueryPreviousPayPeriod TRUE When set to true, calculate penalties for the previous pay period if not signed off. Meal60 UseRoundedShiftStartTime TRUE When set to true, calculate penalties using rounded start times instead of actual start times. Meal60 UseRoundedShiftEndTime TRUE When set to true, calculate penalties using rounded end times instead of actual end times. Meal60 AllowShortMealOverlap TRUE When set to false, deduct early or late penalty from the short penalty for the same meal period. Meal60 ReduceNextWorkShiftOnShortPenalty FALSE When set to true, a short penalty reduces the following work length. Meal60 MealBreakAmount 15 or 60 The required length in minutes for the first or only meal break; this setting controls the maximum penalty that is awarded. Meal60 SecondMealBreakAmount 30 The required length in minutes for the second meal break; this setting controls the maximum penalty that is awarded. Meal60 ThirdMealBreakAmount 15 The required length in minutes for the third meal break; this setting controls the maximum penalty that is awarded. Meal60 MinWorkLength 180 The minimum work length in minutes to trigger a meal penalty. Meal60 MaxWorkLength 240 or 300 The maximum work length in minutes to trigger the first or only meal penalty; this setting is the locator for the first penalty. Meal60 MaxWorkLength2ndMealBreak 360 The maximum work length in minutes to trigger the second meal penalty; this setting is the locator for the first penalty. Meal60 MaxWorkLength3rdMealBreak 540 The maximum work length in minutes to trigger the third meal penalty; this setting is the locator for the first penalty. Meal60 MaxPenaltyForAMealBreak 60 The maximum meal penalty in minutes that can be accumulated for the same meal break. Meal60 MealPenaltyRound 60 The meal penalty rounding interval. Meal60 MealPenaltyGrace 0 The meal penalty grace before the next rounding interval is awarded. Meal60 MinShiftLengthFor1stMealBreak 360 The minimum shift length in minutes that is eligible for a first meal break. Meal60 MinShiftLengthFor2ndMealBreak 780 The minimum shift length in minutes that is eligible for a second meal break. Meal60 MinWorkLengthFor2ndMissedMealBreak 720 The minimum consecutive work length in minutes to trigger a second missed meal break. Meal60 LocatorFor2ndMissedMealBreak 660 The number of minutes (locator) from the start of work from which to calculate the second consecutive missed meal penalty. Meal60 IsEarlyMealPenaltyRequired TRUE When set to true, track the first early meal penalties. Meal60 FirstEarly Early Meal Penalty The paycode name used for a first early meal penalty. Meal60 IsSecondEarlyMealPenaltyRequired TRUE When set to true, track the second early meal penalties. Meal60 SecondEarly Early Meal Penalty The paycode name used for a second early meal penalty. Meal60 IsLateMealPenaltyRequired TRUE When set to true, track the first late meal penalties. Meal60 FirstLate Late Meal Penalty The paycode name used for a first late meal penalty. Meal60 IsSecondLateMealPenaltyRequired TRUE When set to true, track the second late meal penalties. Meal60 SecondLate Late Meal Penalty The paycode name used for a second late meal penalty Meal60 IsShortMealPenaltyRequired TRUE When set to true, track the first short meal penalties. Meal60 FirstShort Short Meal Penalty The paycode name used for a first short meal penalty. Meal60 IsSecondShortMealPenaltyRequired TRUE When set to true, track the second short meal penalties. Meal60 SecondShort Short Meal Penalty The paycode name used for a second short meal penalty. Meal60 IsMissedMealPenaltyRequired TRUE When set to true, track the first missed meal penalties. Meal60 FirstMissed Missed Meal Penalty The paycode name used for a first missed meal penalty. Meal60 IsSecondMissedMealPenaltyRequired TRUE When set to true, track the second missed meal penalties. Meal60 SecondMissed Missed Meal Penalty The paycode name used for a second missed meal penalty. Meal60 ExtraMissed Missed Meal Penalty The paycode name used for a second consecutive missed meal penalty. Meal60 MealPenaltyComment Meal Penalty The comment for the meal penalty paycode edits. Meal60 MealPenaltyNextDayComment Meal Penalty Next Day The comment for the meal penalty paycode edits when the effective time is not during the same day of the effective date. Meal60 IncludeTransfers TRUE When set to true, the paycode edit for penalties includes the job, labor category, and cost center transfers. Meal60 IncludeDeniedTime FALSE When set to true, include denied hours for the shift in the calculation Meal60 EnableMaxWorkLengthVariant TRUE When set to true, the Late Meal Penalty is validated based on the elapsed work length from the start of the shift, instead of from the elapsed time between meals. Meal60 UseActualWorkedTimeForEligibility TRUE When set to true, the elapsed work length is based on the actual worked time excluding already taken breaks. Meal60 ApplyLateMealPenaltyOnExit TRUE When set to true, the Late Meal Penalty is calculated also if the employee goes home during the last meal break segment.
- PRMP-v1.1_ParametersMapCRT
-
Select Override to:
- Download the tables when you run the integration
- Edit the table cells in Extensions
- When you finish, click tap OK.

API name | API section | Type | Resource path | Location |
---|---|---|---|---|
Execute Hyperfind Query | Hyperfind Queries | POST | /v1/commons/hyperfind/execute | _GetListOfUsers |
Retrieve Timecards—Manager | Timecards | POST | /v1/timekeeping/timecard/multi_read | _GetTimecards |
Retrieve Data | Aggregated Data | POST | /v1/commons/data/multi_read | _PrepareTargets |
Update Integration Execution Details | Process Callback | POST | /v1/platform/integrations/update_status | _WFD CallBack |
Update Timecard—Manager | Timecards | POST | /v1/timekeeping/timecard | _UpdatePayCodeEdits |
Retrieve Comments-Manager | Comments | GET | /v1/commons/comments | _PRMPCalculations |
Retrieve Pay Rules | Timekeeping Setup Pay Rules | GET | /v1/timekeeping/setup/payrules | _GetPayRuleIds |