@harbortouch/skytab-analytics-report-utils 0.36.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'cashCollected' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'ticketCount' | 'itemCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'exemptSales' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | 'locationId' | 'locationMid' | 'locationName' | 'locationState' | 'mastercard' | 'mcReturns' | 'modifierName' | 'modifierPrice' | 'modifierQuantity' | 'netSales' | 'netTaxCollected' | 'netTips' | 'numberOfGuests' | 'orderType' | 'paymentType' | 'payrollId' | 'quantity' | 'referenceNumber' | 'refundAmount' | 'refundedTaxAmount' | 'revenueCenter' | 'revenueClass' | 'salesVarLw' | 'salesVarLwPct' | 'salesVarLy' | 'salesVarLyPct' | 'salesMixByPct' | 'salesPerGuest' | 'salesPerGuestLw' | 'salesPerGuestLy' | 'scheduledShiftEnd' | 'scheduledShiftStart' | 'settlementBatchDate' | 'shiftDurationHrs' | 'subtotal' | 'taxCollected' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tipShareContributed' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'type' | 'status' | 'lastModified' | 'discountCount' | 'itemQuantity' | 'modifierQuantityComp' | 'itemQuantityComp' | 'attachRateComp' | 'totalModifierSalesVar' | 'totalModifierSalesVarPct' | 'modifierQuantityVar' | 'modifierQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct' | 'totalModifierSalesComp';
1
+ type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'cashCollected' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'ticketCount' | 'itemCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'exemptSales' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | 'locationId' | 'locationMid' | 'locationName' | 'locationState' | 'mastercard' | 'mcReturns' | 'modifierName' | 'modifierPrice' | 'modifierQuantity' | 'netSales' | 'netTaxCollected' | 'netTips' | 'numberOfGuests' | 'orderType' | 'paymentType' | 'payrollId' | 'quantity' | 'referenceNumber' | 'refundAmount' | 'refundedTaxAmount' | 'revenueCenter' | 'revenueClass' | 'salesVarLw' | 'salesVarLwPct' | 'salesVarLy' | 'salesVarLyPct' | 'salesMixByPct' | 'salesPerGuest' | 'salesPerGuestLw' | 'salesPerGuestLy' | 'scheduledShiftEnd' | 'scheduledShiftStart' | 'settlementBatchDate' | 'shiftDurationHrs' | 'subtotal' | 'taxCollected' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tipShareContributed' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'type' | 'status' | 'lastModified' | 'discountCount' | 'itemQuantity' | 'modifierQuantityComp' | 'itemQuantityComp' | 'attachRateComp' | 'totalModifierSalesVar' | 'totalModifierSalesVarPct' | 'modifierQuantityVar' | 'modifierQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct' | 'totalModifierSalesComp' | 'paidNormalHours' | 'normalPay' | 'overtimePay' | 'doubleOvertimePay' | 'gratuity' | 'tipPaidStatus' | 'totalPayments' | 'minimumWageAdjustment' | 'totalPay';
2
2
  declare const COLUMN_REGISTRY: {
3
3
  readonly fifteenMinInterval: {
4
4
  readonly titleKey: "common.report-col.fifteen-min-interval";
@@ -735,6 +735,51 @@ declare const COLUMN_REGISTRY: {
735
735
  readonly shortTitleKey: "common.report-col.type.short";
736
736
  readonly infoTextKey: "common.report-col.type.info";
737
737
  };
738
+ readonly paidNormalHours: {
739
+ readonly titleKey: "common.report-col.paid-normal-hours";
740
+ readonly shortTitleKey: "common.report-col.paid-normal-hours.short";
741
+ readonly infoTextKey: "common.report-col.paid-normal-hours.info";
742
+ };
743
+ readonly normalPay: {
744
+ readonly titleKey: "common.report-col.normal-pay";
745
+ readonly shortTitleKey: "common.report-col.normal-pay.short";
746
+ readonly infoTextKey: "common.report-col.normal-pay.info";
747
+ };
748
+ readonly overtimePay: {
749
+ readonly titleKey: "common.report-col.overtime-pay";
750
+ readonly shortTitleKey: "common.report-col.overtime-pay.short";
751
+ readonly infoTextKey: "common.report-col.overtime-pay.info";
752
+ };
753
+ readonly doubleOvertimePay: {
754
+ readonly titleKey: "common.report-col.double-overtime-pay";
755
+ readonly shortTitleKey: "common.report-col.double-overtime-pay.short";
756
+ readonly infoTextKey: "common.report-col.double-overtime-pay.info";
757
+ };
758
+ readonly gratuity: {
759
+ readonly titleKey: "common.report-col.gratuity";
760
+ readonly shortTitleKey: "common.report-col.gratuity.short";
761
+ readonly infoTextKey: "common.report-col.gratuity.info";
762
+ };
763
+ readonly tipPaidStatus: {
764
+ readonly titleKey: "common.report-col.tip-paid-status";
765
+ readonly shortTitleKey: "common.report-col.tip-paid-status.short";
766
+ readonly infoTextKey: "common.report-col.tip-paid-status.info";
767
+ };
768
+ readonly totalPayments: {
769
+ readonly titleKey: "common.report-col.total-payments";
770
+ readonly shortTitleKey: "common.report-col.total-payments.short";
771
+ readonly infoTextKey: "common.report-col.total-payments.info";
772
+ };
773
+ readonly minimumWageAdjustment: {
774
+ readonly titleKey: "common.report-col.minimum-wage-adjustment";
775
+ readonly shortTitleKey: "common.report-col.minimum-wage-adjustment.short";
776
+ readonly infoTextKey: "common.report-col.minimum-wage-adjustment.info";
777
+ };
778
+ readonly totalPay: {
779
+ readonly titleKey: "common.report-col.total-pay";
780
+ readonly shortTitleKey: "common.report-col.total-pay.short";
781
+ readonly infoTextKey: "common.report-col.total-pay.info";
782
+ };
738
783
  };
739
784
  type ColumnMetadata = (typeof COLUMN_REGISTRY)[ReportColumnKey];
740
785
  type ColumnMessageKey = ColumnMetadata['titleKey'] | ColumnMetadata['shortTitleKey'] | Extract<ColumnMetadata, {
@@ -1185,6 +1230,33 @@ declare const enUS: {
1185
1230
  readonly 'common.report-col.type': "Type";
1186
1231
  readonly 'common.report-col.type.short': "Type";
1187
1232
  readonly 'common.report-col.type.info': " ";
1233
+ readonly 'common.report-col.paid-normal-hours': "Paid Normal Hours";
1234
+ readonly 'common.report-col.paid-normal-hours.short': "Norm Hrs";
1235
+ readonly 'common.report-col.paid-normal-hours.info': "Total regular hours paid for the period";
1236
+ readonly 'common.report-col.normal-pay': "Normal Pay";
1237
+ readonly 'common.report-col.normal-pay.short': "Norm Pay";
1238
+ readonly 'common.report-col.normal-pay.info': "Wages earned for regular hours worked";
1239
+ readonly 'common.report-col.overtime-pay': "Overtime Pay";
1240
+ readonly 'common.report-col.overtime-pay.short': "OT Pay";
1241
+ readonly 'common.report-col.overtime-pay.info': "Wages earned for overtime hours worked";
1242
+ readonly 'common.report-col.double-overtime-pay': "Double Overtime Pay";
1243
+ readonly 'common.report-col.double-overtime-pay.short': "DT Pay";
1244
+ readonly 'common.report-col.double-overtime-pay.info': "Wages earned for double-overtime hours worked";
1245
+ readonly 'common.report-col.gratuity': "Gratuity";
1246
+ readonly 'common.report-col.gratuity.short': "Gratuity";
1247
+ readonly 'common.report-col.gratuity.info': "Gratuity amounts included in the payroll period";
1248
+ readonly 'common.report-col.tip-paid-status': "Tip Paid Status";
1249
+ readonly 'common.report-col.tip-paid-status.short': "Tip Status";
1250
+ readonly 'common.report-col.tip-paid-status.info': "Indicates whether tips were paid out daily or deferred to payroll";
1251
+ readonly 'common.report-col.total-payments': "Total Payments";
1252
+ readonly 'common.report-col.total-payments.short': "Total Pmts";
1253
+ readonly 'common.report-col.total-payments.info': "Total payments collected for the payroll period";
1254
+ readonly 'common.report-col.minimum-wage-adjustment': "Minimum Wage Adjustment";
1255
+ readonly 'common.report-col.minimum-wage-adjustment.short': "Min Wage Adj";
1256
+ readonly 'common.report-col.minimum-wage-adjustment.info': "Adjustment applied to meet minimum wage requirements";
1257
+ readonly 'common.report-col.total-pay': "Total Pay";
1258
+ readonly 'common.report-col.total-pay.short': "Total Pay";
1259
+ readonly 'common.report-col.total-pay.info': "Total compensation including wages, overtime, and adjustments";
1188
1260
  readonly 'common.report-section.revenue-class': "Sales by Revenue Class";
1189
1261
  readonly 'common.report-section.payments': "Payments";
1190
1262
  readonly 'common.report-section.cash': "Expected Closeout Cash";
@@ -1227,8 +1299,10 @@ declare const enUS: {
1227
1299
  readonly 'table.total': "Total";
1228
1300
  readonly 'table.groups.sales': "Sales";
1229
1301
  readonly 'table.groups.net-sales': "Net Sales";
1302
+ readonly 'table.groups.taxes': "Tax";
1303
+ readonly 'table.groups.gross-sales': "Gross Sales";
1230
1304
  readonly 'table.groups.guests': "Guests";
1231
- readonly 'table.groups.sales-per-guest': "Sales / Guest";
1305
+ readonly 'table.groups.sales-per-guest': "Sales/Guest";
1232
1306
  readonly 'employee-timecard.status.active': "Active";
1233
1307
  readonly 'employee-timecard.status.inactive': "Inactive";
1234
1308
  readonly 'employee-timecard.job.break-suffix': " * break";
@@ -1280,18 +1354,18 @@ type ColumnPresentationConfig<TField = string> = (BaseColumnPresentationConfig<T
1280
1354
  customConfiguration: CustomConfiguration;
1281
1355
  conditionalConfiguration?: never;
1282
1356
  });
1283
- interface ColumnGroupConfig {
1357
+ interface ColumnGroupConfig<TField extends string = string> {
1284
1358
  id: string;
1285
1359
  headerTranslationKey: MessageKey;
1286
- baseFields: string[];
1287
- lastWeekFields?: string[];
1288
- lastYearFields?: string[];
1360
+ baseFields: TField[];
1361
+ lastWeekFields?: TField[];
1362
+ lastYearFields?: TField[];
1289
1363
  }
1290
1364
  interface ReportConfig<TField extends string = string> {
1291
1365
  fields: Record<TField, ColumnPresentationConfig<TField>>;
1292
1366
  availableColumns: TField[];
1293
1367
  defaultVisibleColumns: TField[];
1294
- columnGroups?: ColumnGroupConfig[];
1368
+ columnGroups?: ColumnGroupConfig<TField>[];
1295
1369
  chartFields?: TField[];
1296
1370
  hasFooter: boolean;
1297
1371
  dataAccessKey?: string;
@@ -1311,6 +1385,7 @@ declare const Report: {
1311
1385
  readonly EMPLOYEE_TIMECARD: "employee-timecard";
1312
1386
  readonly EMPLOYEE_TIP: "employee-tip";
1313
1387
  readonly TIP_CASHOUT_RECONCILIATION: "tip-cashout-reconciliation";
1388
+ readonly PAYROLL: "payroll";
1314
1389
  readonly SALES_BY_ITEM: "sales-by-item";
1315
1390
  readonly DAILY_SALES: "daily-sales";
1316
1391
  readonly DAILY_SALES_LIVE: "daily-sales-live";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harbortouch/skytab-analytics-report-utils",
3
- "version": "0.36.0",
3
+ "version": "0.38.0",
4
4
  "description": "Centralized report column presentation configuration for SkyTab Analytics",
5
5
  "engines": {
6
6
  "node": ">=22.6.0",