@harbortouch/skytab-analytics-report-utils 0.4.5 → 0.4.7

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
- export type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'discountCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | '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' | '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';
1
+ export type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'discountCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | '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' | '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' | 'status';
2
2
  export interface ColumnMetadata {
3
3
  titleKey: string;
4
4
  shortTitleKey: string;
package/dist/index.cjs CHANGED
@@ -33,6 +33,8 @@ __export(index_exports, {
33
33
  DAILY_SALES_TAXES_AVAILABLE_COLUMNS: () => DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
34
34
  DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS: () => DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS,
35
35
  DAILY_SALES_TRENDS_AVAILABLE_COLUMNS: () => DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
36
+ EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS: () => EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
37
+ EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS: () => EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS,
36
38
  ITEM_TAX_AVAILABLE_COLUMNS: () => ITEM_TAX_AVAILABLE_COLUMNS,
37
39
  ITEM_TAX_DEFAULT_VISIBLE_COLUMNS: () => ITEM_TAX_DEFAULT_VISIBLE_COLUMNS,
38
40
  MODIFIER_MIX_AVAILABLE_COLUMNS: () => MODIFIER_MIX_AVAILABLE_COLUMNS,
@@ -40,6 +42,8 @@ __export(index_exports, {
40
42
  PRODUCT_MIX_AVAILABLE_COLUMNS: () => PRODUCT_MIX_AVAILABLE_COLUMNS,
41
43
  PRODUCT_MIX_CHART_FIELDS: () => PRODUCT_MIX_CHART_FIELDS,
42
44
  PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS: () => PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS,
45
+ SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS: () => SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
46
+ SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS: () => SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS,
43
47
  SALES_SUMMARY_AVAILABLE_COLUMNS: () => SALES_SUMMARY_AVAILABLE_COLUMNS,
44
48
  SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS: () => SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS,
45
49
  TICKET_LIVE_AVAILABLE_COLUMNS: () => TICKET_LIVE_AVAILABLE_COLUMNS,
@@ -53,12 +57,14 @@ __export(index_exports, {
53
57
  dailySalesRefundsVoidsConfig: () => dailySalesRefundsVoidsConfig,
54
58
  dailySalesTaxesConfig: () => dailySalesTaxesConfig,
55
59
  dailySalesTrendsConfig: () => dailySalesTrendsConfig,
60
+ employeeTimecardConfig: () => employeeTimecardConfig,
56
61
  getColumnAlignment: () => getColumnAlignment,
57
62
  getColumnMetadata: () => getColumnMetadata,
58
63
  isNumericType: () => isNumericType,
59
64
  itemTaxConfig: () => itemTaxConfig,
60
65
  modifierMixConfig: () => modifierMixConfig,
61
66
  productMixConfig: () => productMixConfig,
67
+ salesByItemDetailConfig: () => salesByItemDetailConfig,
62
68
  salesSummaryConfig: () => salesSummaryConfig,
63
69
  ticketLiveConfig: () => ticketLiveConfig,
64
70
  ticketSummaryConfig: () => ticketSummaryConfig
@@ -332,6 +338,11 @@ var COLUMN_REGISTRY = {
332
338
  shortTitleKey: "common.report-col.location-city.short",
333
339
  infoTextKey: "common.report-col.location-city.info"
334
340
  },
341
+ locationId: {
342
+ titleKey: "common.report-col.location-id",
343
+ shortTitleKey: "common.report-col.location-id.short",
344
+ infoTextKey: "common.report-col.location-id.info"
345
+ },
335
346
  locationMid: {
336
347
  titleKey: "common.report-col.location-mid",
337
348
  shortTitleKey: "common.report-col.location-mid.short",
@@ -497,6 +508,11 @@ var COLUMN_REGISTRY = {
497
508
  shortTitleKey: "common.report-col.shift-duration-hrs.short",
498
509
  infoTextKey: "common.report-col.shift-duration-hrs.info"
499
510
  },
511
+ status: {
512
+ titleKey: "common.report-col.status",
513
+ shortTitleKey: "common.report-col.status.short",
514
+ infoTextKey: "common.report-col.status.info"
515
+ },
500
516
  subtotal: {
501
517
  titleKey: "common.report-col.subtotal",
502
518
  shortTitleKey: "common.report-col.subtotal.short",
@@ -1394,6 +1410,143 @@ var dailySalesTaxesConfig = {
1394
1410
  availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
1395
1411
  defaultVisibleColumns: DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS
1396
1412
  };
1413
+
1414
+ // src/reports/employeeTimecard.ts
1415
+ var FIRST_COLUMN_WIDTH9 = 240;
1416
+ var EMPLOYEE_NAME_WIDTH = 220;
1417
+ var STATUS_WIDTH = 140;
1418
+ var LOOKUP_WIDTH = 160;
1419
+ var PAYROLL_WIDTH = 160;
1420
+ var JOB_WIDTH = 200;
1421
+ var FIELDS12 = {
1422
+ locationId: {
1423
+ type: "number",
1424
+ enableSorting: false,
1425
+ filteringAvailable: false
1426
+ },
1427
+ locationName: {
1428
+ type: "string",
1429
+ size: FIRST_COLUMN_WIDTH9,
1430
+ columnKey: "locationName"
1431
+ },
1432
+ businessDate: {
1433
+ type: "date",
1434
+ columnKey: "date"
1435
+ },
1436
+ employeeName: {
1437
+ type: "string",
1438
+ size: EMPLOYEE_NAME_WIDTH,
1439
+ columnKey: "employeeName"
1440
+ },
1441
+ isActive: {
1442
+ type: "string",
1443
+ size: STATUS_WIDTH,
1444
+ columnKey: "status",
1445
+ enableSorting: false,
1446
+ filteringAvailable: false
1447
+ },
1448
+ lookup: {
1449
+ type: "string",
1450
+ size: LOOKUP_WIDTH,
1451
+ columnKey: "employeeId"
1452
+ },
1453
+ payrollCode: {
1454
+ type: "string",
1455
+ size: PAYROLL_WIDTH,
1456
+ columnKey: "payrollId"
1457
+ },
1458
+ jobName: {
1459
+ type: "string",
1460
+ size: JOB_WIDTH,
1461
+ columnKey: "employeeJob"
1462
+ },
1463
+ isBreak: {
1464
+ type: "string",
1465
+ enableSorting: false,
1466
+ filteringAvailable: false
1467
+ },
1468
+ startTime: {
1469
+ type: "string",
1470
+ columnKey: "clockInTime"
1471
+ },
1472
+ endTime: {
1473
+ type: "string",
1474
+ columnKey: "clockOutTime"
1475
+ },
1476
+ shiftHours: {
1477
+ type: "fixedNumber",
1478
+ columnKey: "shiftDurationHrs",
1479
+ filteringAvailable: false
1480
+ }
1481
+ };
1482
+ var EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS = [
1483
+ "locationName",
1484
+ "businessDate",
1485
+ "employeeName",
1486
+ "isActive",
1487
+ "lookup",
1488
+ "payrollCode",
1489
+ "jobName",
1490
+ "startTime",
1491
+ "endTime",
1492
+ "shiftHours"
1493
+ ];
1494
+ var EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS = EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS;
1495
+ var employeeTimecardConfig = {
1496
+ fields: FIELDS12,
1497
+ availableColumns: EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
1498
+ defaultVisibleColumns: EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS,
1499
+ columnGroups: []
1500
+ // No column groups for this report
1501
+ };
1502
+
1503
+ // src/reports/salesByItemDetail.ts
1504
+ var FIELDS13 = {
1505
+ businessDate: { type: "string", columnKey: "date", filteringAvailable: false },
1506
+ ticketClosedAt: { type: "string", columnKey: "ticketClosed", filteringAvailable: false },
1507
+ hourId: { type: "number", columnKey: "hour", filteringAvailable: false },
1508
+ daypartName: { type: "string", columnKey: "daypart", filteringAvailable: false },
1509
+ locationId: { type: "number", columnKey: "locationId", filteringAvailable: false },
1510
+ locationName: { type: "string", columnKey: "locationName", filteringAvailable: false },
1511
+ departmentName: { type: "string", columnKey: "department", filteringAvailable: false },
1512
+ itemName: { type: "string", columnKey: "itemName", filteringAvailable: false },
1513
+ revenueCenterName: { type: "string", columnKey: "revenueCenter", filteringAvailable: false },
1514
+ revenueClassName: { type: "string", columnKey: "revenueClass", filteringAvailable: false },
1515
+ salesAmountNet: { type: "money", columnKey: "netSales" },
1516
+ itemsQuantity: { type: "number", columnKey: "quantity" },
1517
+ transactionId: { type: "string", columnKey: "ticketNumber", filteringAvailable: false },
1518
+ guestsCount: { type: "number", columnKey: "guestCount" },
1519
+ employeeName: { type: "string", columnKey: "employeeName", filteringAvailable: false },
1520
+ orderTypeName: { type: "string", columnKey: "orderType", filteringAvailable: false },
1521
+ salesType: { type: "string", columnKey: "transactionType", filteringAvailable: false },
1522
+ itemPrice: { type: "money", columnKey: "itemPrice" }
1523
+ };
1524
+ var SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS = [
1525
+ "businessDate",
1526
+ "ticketClosedAt",
1527
+ "hourId",
1528
+ "daypartName",
1529
+ "locationId",
1530
+ "locationName",
1531
+ "departmentName",
1532
+ "itemName",
1533
+ "revenueCenterName",
1534
+ "revenueClassName",
1535
+ "salesAmountNet",
1536
+ "itemsQuantity",
1537
+ "transactionId",
1538
+ "guestsCount",
1539
+ "employeeName",
1540
+ "orderTypeName",
1541
+ "salesType",
1542
+ "itemPrice"
1543
+ ];
1544
+ var SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS = SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS;
1545
+ var salesByItemDetailConfig = {
1546
+ fields: FIELDS13,
1547
+ availableColumns: SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
1548
+ defaultVisibleColumns: SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS
1549
+ };
1397
1550
  // Annotate the CommonJS export names for ESM import in node:
1398
1551
  0 && (module.exports = {
1399
1552
  COLUMN_REGISTRY,
@@ -1409,6 +1562,8 @@ var dailySalesTaxesConfig = {
1409
1562
  DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
1410
1563
  DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS,
1411
1564
  DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
1565
+ EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
1566
+ EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS,
1412
1567
  ITEM_TAX_AVAILABLE_COLUMNS,
1413
1568
  ITEM_TAX_DEFAULT_VISIBLE_COLUMNS,
1414
1569
  MODIFIER_MIX_AVAILABLE_COLUMNS,
@@ -1416,6 +1571,8 @@ var dailySalesTaxesConfig = {
1416
1571
  PRODUCT_MIX_AVAILABLE_COLUMNS,
1417
1572
  PRODUCT_MIX_CHART_FIELDS,
1418
1573
  PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS,
1574
+ SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
1575
+ SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS,
1419
1576
  SALES_SUMMARY_AVAILABLE_COLUMNS,
1420
1577
  SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS,
1421
1578
  TICKET_LIVE_AVAILABLE_COLUMNS,
@@ -1429,12 +1586,14 @@ var dailySalesTaxesConfig = {
1429
1586
  dailySalesRefundsVoidsConfig,
1430
1587
  dailySalesTaxesConfig,
1431
1588
  dailySalesTrendsConfig,
1589
+ employeeTimecardConfig,
1432
1590
  getColumnAlignment,
1433
1591
  getColumnMetadata,
1434
1592
  isNumericType,
1435
1593
  itemTaxConfig,
1436
1594
  modifierMixConfig,
1437
1595
  productMixConfig,
1596
+ salesByItemDetailConfig,
1438
1597
  salesSummaryConfig,
1439
1598
  ticketLiveConfig,
1440
1599
  ticketSummaryConfig
package/dist/index.d.ts CHANGED
@@ -15,3 +15,5 @@ export { dailySalesPaymentsConfig, DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS, DAILY
15
15
  export { dailySalesDiscountsConfig, DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS, DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS, } from './reports/dailySalesDiscounts';
16
16
  export { dailySalesRefundsVoidsConfig, DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS, DAILY_SALES_REFUNDS_VOIDS_DEFAULT_VISIBLE_COLUMNS, } from './reports/dailySalesRefundsVoids';
17
17
  export { dailySalesTaxesConfig, DAILY_SALES_TAXES_AVAILABLE_COLUMNS, DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS, } from './reports/dailySalesTaxes';
18
+ export { employeeTimecardConfig, EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS, EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS, } from './reports/employeeTimecard';
19
+ export { salesByItemDetailConfig, SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS, SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS, } from './reports/salesByItemDetail';
package/dist/index.js CHANGED
@@ -265,6 +265,11 @@ var COLUMN_REGISTRY = {
265
265
  shortTitleKey: "common.report-col.location-city.short",
266
266
  infoTextKey: "common.report-col.location-city.info"
267
267
  },
268
+ locationId: {
269
+ titleKey: "common.report-col.location-id",
270
+ shortTitleKey: "common.report-col.location-id.short",
271
+ infoTextKey: "common.report-col.location-id.info"
272
+ },
268
273
  locationMid: {
269
274
  titleKey: "common.report-col.location-mid",
270
275
  shortTitleKey: "common.report-col.location-mid.short",
@@ -430,6 +435,11 @@ var COLUMN_REGISTRY = {
430
435
  shortTitleKey: "common.report-col.shift-duration-hrs.short",
431
436
  infoTextKey: "common.report-col.shift-duration-hrs.info"
432
437
  },
438
+ status: {
439
+ titleKey: "common.report-col.status",
440
+ shortTitleKey: "common.report-col.status.short",
441
+ infoTextKey: "common.report-col.status.info"
442
+ },
433
443
  subtotal: {
434
444
  titleKey: "common.report-col.subtotal",
435
445
  shortTitleKey: "common.report-col.subtotal.short",
@@ -1327,6 +1337,143 @@ var dailySalesTaxesConfig = {
1327
1337
  availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
1328
1338
  defaultVisibleColumns: DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS
1329
1339
  };
1340
+
1341
+ // src/reports/employeeTimecard.ts
1342
+ var FIRST_COLUMN_WIDTH9 = 240;
1343
+ var EMPLOYEE_NAME_WIDTH = 220;
1344
+ var STATUS_WIDTH = 140;
1345
+ var LOOKUP_WIDTH = 160;
1346
+ var PAYROLL_WIDTH = 160;
1347
+ var JOB_WIDTH = 200;
1348
+ var FIELDS12 = {
1349
+ locationId: {
1350
+ type: "number",
1351
+ enableSorting: false,
1352
+ filteringAvailable: false
1353
+ },
1354
+ locationName: {
1355
+ type: "string",
1356
+ size: FIRST_COLUMN_WIDTH9,
1357
+ columnKey: "locationName"
1358
+ },
1359
+ businessDate: {
1360
+ type: "date",
1361
+ columnKey: "date"
1362
+ },
1363
+ employeeName: {
1364
+ type: "string",
1365
+ size: EMPLOYEE_NAME_WIDTH,
1366
+ columnKey: "employeeName"
1367
+ },
1368
+ isActive: {
1369
+ type: "string",
1370
+ size: STATUS_WIDTH,
1371
+ columnKey: "status",
1372
+ enableSorting: false,
1373
+ filteringAvailable: false
1374
+ },
1375
+ lookup: {
1376
+ type: "string",
1377
+ size: LOOKUP_WIDTH,
1378
+ columnKey: "employeeId"
1379
+ },
1380
+ payrollCode: {
1381
+ type: "string",
1382
+ size: PAYROLL_WIDTH,
1383
+ columnKey: "payrollId"
1384
+ },
1385
+ jobName: {
1386
+ type: "string",
1387
+ size: JOB_WIDTH,
1388
+ columnKey: "employeeJob"
1389
+ },
1390
+ isBreak: {
1391
+ type: "string",
1392
+ enableSorting: false,
1393
+ filteringAvailable: false
1394
+ },
1395
+ startTime: {
1396
+ type: "string",
1397
+ columnKey: "clockInTime"
1398
+ },
1399
+ endTime: {
1400
+ type: "string",
1401
+ columnKey: "clockOutTime"
1402
+ },
1403
+ shiftHours: {
1404
+ type: "fixedNumber",
1405
+ columnKey: "shiftDurationHrs",
1406
+ filteringAvailable: false
1407
+ }
1408
+ };
1409
+ var EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS = [
1410
+ "locationName",
1411
+ "businessDate",
1412
+ "employeeName",
1413
+ "isActive",
1414
+ "lookup",
1415
+ "payrollCode",
1416
+ "jobName",
1417
+ "startTime",
1418
+ "endTime",
1419
+ "shiftHours"
1420
+ ];
1421
+ var EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS = EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS;
1422
+ var employeeTimecardConfig = {
1423
+ fields: FIELDS12,
1424
+ availableColumns: EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
1425
+ defaultVisibleColumns: EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS,
1426
+ columnGroups: []
1427
+ // No column groups for this report
1428
+ };
1429
+
1430
+ // src/reports/salesByItemDetail.ts
1431
+ var FIELDS13 = {
1432
+ businessDate: { type: "string", columnKey: "date", filteringAvailable: false },
1433
+ ticketClosedAt: { type: "string", columnKey: "ticketClosed", filteringAvailable: false },
1434
+ hourId: { type: "number", columnKey: "hour", filteringAvailable: false },
1435
+ daypartName: { type: "string", columnKey: "daypart", filteringAvailable: false },
1436
+ locationId: { type: "number", columnKey: "locationId", filteringAvailable: false },
1437
+ locationName: { type: "string", columnKey: "locationName", filteringAvailable: false },
1438
+ departmentName: { type: "string", columnKey: "department", filteringAvailable: false },
1439
+ itemName: { type: "string", columnKey: "itemName", filteringAvailable: false },
1440
+ revenueCenterName: { type: "string", columnKey: "revenueCenter", filteringAvailable: false },
1441
+ revenueClassName: { type: "string", columnKey: "revenueClass", filteringAvailable: false },
1442
+ salesAmountNet: { type: "money", columnKey: "netSales" },
1443
+ itemsQuantity: { type: "number", columnKey: "quantity" },
1444
+ transactionId: { type: "string", columnKey: "ticketNumber", filteringAvailable: false },
1445
+ guestsCount: { type: "number", columnKey: "guestCount" },
1446
+ employeeName: { type: "string", columnKey: "employeeName", filteringAvailable: false },
1447
+ orderTypeName: { type: "string", columnKey: "orderType", filteringAvailable: false },
1448
+ salesType: { type: "string", columnKey: "transactionType", filteringAvailable: false },
1449
+ itemPrice: { type: "money", columnKey: "itemPrice" }
1450
+ };
1451
+ var SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS = [
1452
+ "businessDate",
1453
+ "ticketClosedAt",
1454
+ "hourId",
1455
+ "daypartName",
1456
+ "locationId",
1457
+ "locationName",
1458
+ "departmentName",
1459
+ "itemName",
1460
+ "revenueCenterName",
1461
+ "revenueClassName",
1462
+ "salesAmountNet",
1463
+ "itemsQuantity",
1464
+ "transactionId",
1465
+ "guestsCount",
1466
+ "employeeName",
1467
+ "orderTypeName",
1468
+ "salesType",
1469
+ "itemPrice"
1470
+ ];
1471
+ var SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS = SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS;
1472
+ var salesByItemDetailConfig = {
1473
+ fields: FIELDS13,
1474
+ availableColumns: SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
1475
+ defaultVisibleColumns: SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS
1476
+ };
1330
1477
  export {
1331
1478
  COLUMN_REGISTRY,
1332
1479
  DAILY_SALES_AVAILABLE_COLUMNS,
@@ -1341,6 +1488,8 @@ export {
1341
1488
  DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
1342
1489
  DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS,
1343
1490
  DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
1491
+ EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
1492
+ EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS,
1344
1493
  ITEM_TAX_AVAILABLE_COLUMNS,
1345
1494
  ITEM_TAX_DEFAULT_VISIBLE_COLUMNS,
1346
1495
  MODIFIER_MIX_AVAILABLE_COLUMNS,
@@ -1348,6 +1497,8 @@ export {
1348
1497
  PRODUCT_MIX_AVAILABLE_COLUMNS,
1349
1498
  PRODUCT_MIX_CHART_FIELDS,
1350
1499
  PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS,
1500
+ SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
1501
+ SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS,
1351
1502
  SALES_SUMMARY_AVAILABLE_COLUMNS,
1352
1503
  SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS,
1353
1504
  TICKET_LIVE_AVAILABLE_COLUMNS,
@@ -1361,12 +1512,14 @@ export {
1361
1512
  dailySalesRefundsVoidsConfig,
1362
1513
  dailySalesTaxesConfig,
1363
1514
  dailySalesTrendsConfig,
1515
+ employeeTimecardConfig,
1364
1516
  getColumnAlignment,
1365
1517
  getColumnMetadata,
1366
1518
  isNumericType,
1367
1519
  itemTaxConfig,
1368
1520
  modifierMixConfig,
1369
1521
  productMixConfig,
1522
+ salesByItemDetailConfig,
1370
1523
  salesSummaryConfig,
1371
1524
  ticketLiveConfig,
1372
1525
  ticketSummaryConfig
@@ -0,0 +1,4 @@
1
+ import { type ReportConfig } from '../types';
2
+ export declare const EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS: string[];
3
+ export declare const EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS: string[];
4
+ export declare const employeeTimecardConfig: ReportConfig;
@@ -7,3 +7,4 @@ export { itemTaxConfig, ITEM_TAX_AVAILABLE_COLUMNS, ITEM_TAX_DEFAULT_VISIBLE_COL
7
7
  export { dailySalesConfig, dailySalesTrendsConfig, DAILY_SALES_AVAILABLE_COLUMNS, DAILY_SALES_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_BY_GROUP_AVAILABLE_COLUMNS, DAILY_SALES_TRENDS_AVAILABLE_COLUMNS, } from './dailySales';
8
8
  export { dailySalesPaymentsConfig, DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS, DAILY_SALES_PAYMENTS_DEFAULT_VISIBLE_COLUMNS, } from './dailySalesPayments';
9
9
  export { dailySalesDiscountsConfig, DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS, DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS, } from './dailySalesDiscounts';
10
+ export { employeeTimecardConfig, EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS, EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS, } from './employeeTimecard';
@@ -0,0 +1,6 @@
1
+ import { type ReportConfig } from '../types';
2
+ type SalesByItemDetailField = 'businessDate' | 'ticketClosedAt' | 'hourId' | 'daypartName' | 'locationId' | 'locationName' | 'departmentName' | 'itemName' | 'revenueCenterName' | 'revenueClassName' | 'salesAmountNet' | 'itemsQuantity' | 'transactionId' | 'guestsCount' | 'employeeName' | 'orderTypeName' | 'salesType' | 'itemPrice';
3
+ export declare const SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS: SalesByItemDetailField[];
4
+ export declare const SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS: SalesByItemDetailField[];
5
+ export declare const salesByItemDetailConfig: ReportConfig<SalesByItemDetailField>;
6
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harbortouch/skytab-analytics-report-utils",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Centralized report column presentation configuration for SkyTab Analytics",
5
5
  "engines": {
6
6
  "node": ">=22.6.0",