Award Matrix
Rules and Feature Flags
Rules and Feature Flags
Award behavior is controlled by service parameters in app/config/services.yaml.
| Parameter | Environment variable | Default | Meaning |
|---|---|---|---|
award_amount_application_enabled | AWARD_AMOUNT_APPLICATION_ENABLED | true | Whether award lines can produce non-zero pay/bill amounts. |
award_matrix_rules_enabled | AWARD_MATRIX_RULES_ENABLED | false | Whether break, shift, travel, and callout matrix rules are enabled. |
award_ordinary_hours_rules_enabled | AWARD_ORDINARY_HOURS_RULES_ENABLED | false | Whether client ordinary-hours rules override fallback caps. |
award_billing_markup_percent | AWARD_BILLING_MARKUP_PERCENT | 0 | Billing markup applied in award billing calculations. |
award_billing_gst_percent | AWARD_BILLING_GST_PERCENT | 0 | GST percentage for billable/taxable lines. |
Matrix entities
| Matrix | Entity | Purpose |
|---|---|---|
| Employee classification | EmployeeAwardClassification | Maps worker/client/effective date to award/classification/employment/casual-loading defaults. |
| Ordinary hours | ClientOrdinaryHoursRule | Daily/weekly ordinary caps, minimum/maximum shift, RDO flag, effective dates. |
| Public holiday | AwardPublicHoliday | State/date public holiday multiplier. |
| Event rates | ClientEventRate | Overtime, weekend, public holiday, event multiplier configuration. |
| Break rules | ClientBreakRule | Required break, paid/unpaid, overtime break, penalty preview. |
| Shift rules | ClientShiftRule | Day/afternoon/night/permanent night rules and multipliers. |
| Travel rules | ClientTravelRule | KM, travel zone, remote travel, accommodation preview lines. |
| Callout rules | ClientCalloutRule | Callback/callout minimum payable hours, multiplier, recall thresholds, travel allowance amount. |
Precedence
The existing docs and calculator design apply this conceptual precedence:
Public holiday > Sunday > overtime > shift loading > base/ordinary rateShift loading lines include snapshot metadata saying they apply after public holiday, Sunday, and overtime. This prevents shift loading from overwriting special-day/overtime logic.