@harbortouch/skytab-analytics-report-utils 0.14.5 → 0.16.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.
- package/README.md +49 -32
- package/dist/csv/index.cjs +42 -0
- package/dist/csv/index.d.cts +9 -0
- package/dist/csv/index.d.ts +9 -0
- package/dist/csv/index.js +17 -0
- package/dist/index.cjs +267 -102
- package/dist/index.d.cts +61 -2
- package/dist/index.d.ts +61 -2
- package/dist/index.js +263 -102
- package/package.json +10 -2
package/dist/index.js
CHANGED
|
@@ -656,38 +656,118 @@ var dailySalesConfig = {
|
|
|
656
656
|
fields: FIELDS10,
|
|
657
657
|
availableColumns: DAILY_SALES_AVAILABLE_COLUMNS,
|
|
658
658
|
defaultVisibleColumns: DAILY_SALES_AVAILABLE_COLUMNS,
|
|
659
|
-
hasFooter: true
|
|
659
|
+
hasFooter: true,
|
|
660
|
+
dataAccessKey: "salesByRevClass",
|
|
661
|
+
sectionName: "common.report-section.revenue-class",
|
|
662
|
+
extraFooterRowsKey: "salesByRevClassFooter"
|
|
660
663
|
};
|
|
661
664
|
|
|
662
|
-
// src/reports/
|
|
665
|
+
// src/reports/dailySalesCache.ts
|
|
663
666
|
var FIELDS11 = {
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
itemsQuantity: { type: "number", columnKey: "quantity" },
|
|
667
|
-
salesAmountGross: { type: "money", columnKey: "grossSales" },
|
|
668
|
-
discountsAmount: { type: "money", columnKey: "discountAmount" },
|
|
669
|
-
inclusiveTaxesAmount: { type: "money", columnKey: "inclusiveTax" },
|
|
670
|
-
salesAmountNet: { type: "money", columnKey: "netSales" },
|
|
671
|
-
salesMixPct: { type: "percent", columnKey: "salesMixByPct" },
|
|
672
|
-
guestsCount: { type: "number", columnKey: "guests" }
|
|
667
|
+
name: { type: "string", columnKey: "type", size: FIRST_COLUMN_WIDTH },
|
|
668
|
+
amount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } }
|
|
673
669
|
};
|
|
674
|
-
var
|
|
675
|
-
"itemsQuantity",
|
|
676
|
-
"salesAmountGross",
|
|
677
|
-
"discountsAmount",
|
|
678
|
-
"inclusiveTaxesAmount",
|
|
679
|
-
"salesAmountNet",
|
|
680
|
-
"salesMixPct"
|
|
681
|
-
];
|
|
682
|
-
var dailySalesLiveConfig = {
|
|
670
|
+
var dailySalesCacheConfig = {
|
|
683
671
|
fields: FIELDS11,
|
|
684
|
-
availableColumns:
|
|
685
|
-
defaultVisibleColumns:
|
|
686
|
-
hasFooter: true
|
|
672
|
+
availableColumns: ["name", "amount"],
|
|
673
|
+
defaultVisibleColumns: ["name", "amount"],
|
|
674
|
+
hasFooter: true,
|
|
675
|
+
dataAccessKey: "cashPayments",
|
|
676
|
+
sectionName: "common.report-section.cash"
|
|
687
677
|
};
|
|
688
678
|
|
|
689
|
-
// src/reports/
|
|
679
|
+
// src/reports/dailySalesDiscounts.ts
|
|
690
680
|
var FIELDS12 = {
|
|
681
|
+
discountName: { type: "string", columnKey: "discountName", size: FIRST_COLUMN_WIDTH },
|
|
682
|
+
ticketCount: { type: "number", columnKey: "ticketCount", footerCalculation: { type: "sum" } },
|
|
683
|
+
itemCount: { type: "number", columnKey: "itemCount", footerCalculation: { type: "sum" } },
|
|
684
|
+
discountsAmount: { type: "money", columnKey: "discountAmount", footerCalculation: { type: "sum" } }
|
|
685
|
+
};
|
|
686
|
+
var DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS = [
|
|
687
|
+
"discountName",
|
|
688
|
+
"ticketCount",
|
|
689
|
+
"itemCount",
|
|
690
|
+
"discountsAmount"
|
|
691
|
+
];
|
|
692
|
+
var dailySalesDiscountsConfig = {
|
|
693
|
+
fields: FIELDS12,
|
|
694
|
+
availableColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
|
|
695
|
+
defaultVisibleColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
|
|
696
|
+
hasFooter: true,
|
|
697
|
+
dataAccessKey: "discounts",
|
|
698
|
+
sectionName: "common.report-section.discounts"
|
|
699
|
+
};
|
|
700
|
+
|
|
701
|
+
// src/reports/dailySalesPayments.ts
|
|
702
|
+
var FIELDS13 = {
|
|
703
|
+
paymentTypeName: { type: "string", size: FIRST_COLUMN_WIDTH },
|
|
704
|
+
paymentsCount: { type: "number", columnKey: "paymentsCount", footerCalculation: { type: "sum" } },
|
|
705
|
+
paymentsAmount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } },
|
|
706
|
+
tipsAmount: { type: "money", columnKey: "tips", footerCalculation: { type: "sum" } },
|
|
707
|
+
totalSales: { type: "money", columnKey: "paymentsTotal", footerCalculation: { type: "sum" } }
|
|
708
|
+
};
|
|
709
|
+
var DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS = [
|
|
710
|
+
"paymentTypeName",
|
|
711
|
+
"paymentsCount",
|
|
712
|
+
"paymentsAmount",
|
|
713
|
+
"tipsAmount",
|
|
714
|
+
"totalSales"
|
|
715
|
+
];
|
|
716
|
+
var dailySalesPaymentsConfig = {
|
|
717
|
+
fields: FIELDS13,
|
|
718
|
+
availableColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
|
|
719
|
+
defaultVisibleColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
|
|
720
|
+
hasFooter: true,
|
|
721
|
+
dataAccessKey: "payments",
|
|
722
|
+
sectionName: "common.report-section.payments"
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
// src/reports/dailySalesRefundsVoids.ts
|
|
726
|
+
var FIELDS14 = {
|
|
727
|
+
description: { type: "string", columnKey: "refundVoidDescription", size: FIRST_COLUMN_WIDTH },
|
|
728
|
+
count: { type: "number", columnKey: "refundVoidCount", footerCalculation: { type: "sum" } },
|
|
729
|
+
amount: { type: "money", columnKey: "refundVoidAmount", footerCalculation: { type: "sum" } },
|
|
730
|
+
pctSales: { type: "percent", columnKey: "refundVoidPctSales", footerCalculation: { type: "sum" } }
|
|
731
|
+
};
|
|
732
|
+
var DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS = [
|
|
733
|
+
"description",
|
|
734
|
+
"count",
|
|
735
|
+
"amount",
|
|
736
|
+
"pctSales"
|
|
737
|
+
];
|
|
738
|
+
var dailySalesRefundsVoidsConfig = {
|
|
739
|
+
fields: FIELDS14,
|
|
740
|
+
availableColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
|
|
741
|
+
defaultVisibleColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
|
|
742
|
+
hasFooter: true,
|
|
743
|
+
dataAccessKey: "refundsVoids",
|
|
744
|
+
sectionName: "common.report-section.refunds-voids"
|
|
745
|
+
};
|
|
746
|
+
|
|
747
|
+
// src/reports/dailySalesTaxes.ts
|
|
748
|
+
var FIELDS15 = {
|
|
749
|
+
taxName: { type: "string", columnKey: "taxName", size: FIRST_COLUMN_WIDTH },
|
|
750
|
+
taxableSales: { type: "money", columnKey: "taxableSales", footerCalculation: { type: "none" } },
|
|
751
|
+
taxesAmount: { type: "money", columnKey: "taxCollected", footerCalculation: { type: "sum" } },
|
|
752
|
+
exemptSales: { type: "money", columnKey: "exemptTaxes", footerCalculation: { type: "sum" } }
|
|
753
|
+
};
|
|
754
|
+
var DAILY_SALES_TAXES_AVAILABLE_COLUMNS = [
|
|
755
|
+
"taxName",
|
|
756
|
+
"taxableSales",
|
|
757
|
+
"taxesAmount",
|
|
758
|
+
"exemptSales"
|
|
759
|
+
];
|
|
760
|
+
var dailySalesTaxesConfig = {
|
|
761
|
+
fields: FIELDS15,
|
|
762
|
+
availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
|
|
763
|
+
defaultVisibleColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
|
|
764
|
+
hasFooter: true,
|
|
765
|
+
dataAccessKey: "taxes",
|
|
766
|
+
sectionName: "common.report-section.taxes"
|
|
767
|
+
};
|
|
768
|
+
|
|
769
|
+
// src/reports/dailySalesTrends.ts
|
|
770
|
+
var FIELDS16 = {
|
|
691
771
|
groupById: { type: "string" },
|
|
692
772
|
groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
|
|
693
773
|
salesAmountNet: { type: "money", columnKey: "netSales" },
|
|
@@ -720,10 +800,24 @@ var DAILY_SALES_TRENDS_AVAILABLE_COLUMNS = [
|
|
|
720
800
|
"salesAmountNet"
|
|
721
801
|
];
|
|
722
802
|
var dailySalesTrendsConfig = {
|
|
723
|
-
fields:
|
|
803
|
+
fields: FIELDS16,
|
|
724
804
|
availableColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
|
|
725
805
|
defaultVisibleColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
|
|
726
|
-
hasFooter: true
|
|
806
|
+
hasFooter: true,
|
|
807
|
+
dataAccessKey: "trendsByDayPart",
|
|
808
|
+
sectionName: "common.report-section.sales-by-day-part",
|
|
809
|
+
totalsLabel: "common.report-section.trends-footer.total-sales",
|
|
810
|
+
extraFooterFields: ["salesAmountNet"]
|
|
811
|
+
};
|
|
812
|
+
var dailySalesTrendsOrderTypeConfig = {
|
|
813
|
+
fields: FIELDS16,
|
|
814
|
+
availableColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
|
|
815
|
+
defaultVisibleColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
|
|
816
|
+
hasFooter: true,
|
|
817
|
+
dataAccessKey: "trendsByOrderType",
|
|
818
|
+
sectionName: "common.report-section.sales-by-order-type",
|
|
819
|
+
totalsLabel: "common.report-section.trends-footer.total-sales",
|
|
820
|
+
extraFooterFields: ["salesAmountNet"]
|
|
727
821
|
};
|
|
728
822
|
|
|
729
823
|
// src/report.ts
|
|
@@ -741,6 +835,16 @@ var Report = {
|
|
|
741
835
|
DAILY_SALES_LIVE: "daily-sales-live",
|
|
742
836
|
DAILY_SALES_TRENDS: "daily-sales-trends"
|
|
743
837
|
};
|
|
838
|
+
var DAILY_SALES_SECTION_CONFIGS = [
|
|
839
|
+
dailySalesConfig,
|
|
840
|
+
dailySalesPaymentsConfig,
|
|
841
|
+
dailySalesCacheConfig,
|
|
842
|
+
dailySalesTaxesConfig,
|
|
843
|
+
dailySalesRefundsVoidsConfig,
|
|
844
|
+
dailySalesDiscountsConfig,
|
|
845
|
+
dailySalesTrendsConfig,
|
|
846
|
+
dailySalesTrendsOrderTypeConfig
|
|
847
|
+
];
|
|
744
848
|
var REPORT_CONFIG_MAP = {
|
|
745
849
|
"sales-summary": salesSummaryConfig,
|
|
746
850
|
"ticket-analytics": ticketSummaryConfig,
|
|
@@ -751,9 +855,9 @@ var REPORT_CONFIG_MAP = {
|
|
|
751
855
|
"employee-timecard": employeeTimecardConfig,
|
|
752
856
|
"employee-tip": employeeTipConfig,
|
|
753
857
|
"sales-by-item": salesByItemDetailConfig,
|
|
754
|
-
"daily-sales":
|
|
755
|
-
"daily-sales-live":
|
|
756
|
-
"daily-sales-trends":
|
|
858
|
+
"daily-sales": DAILY_SALES_SECTION_CONFIGS,
|
|
859
|
+
"daily-sales-live": DAILY_SALES_SECTION_CONFIGS,
|
|
860
|
+
"daily-sales-trends": null
|
|
757
861
|
};
|
|
758
862
|
var REPORT_DEFAULT_NAME_MAP = {
|
|
759
863
|
"sales-summary": "Sales",
|
|
@@ -1518,86 +1622,139 @@ var calculateReportTotals = (data, fieldConfig, opts) => {
|
|
|
1518
1622
|
return result;
|
|
1519
1623
|
};
|
|
1520
1624
|
|
|
1521
|
-
// src/reports/
|
|
1522
|
-
var
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
}
|
|
1529
|
-
|
|
1530
|
-
"
|
|
1531
|
-
"
|
|
1532
|
-
"tipsAmount",
|
|
1533
|
-
"totalSales"
|
|
1534
|
-
];
|
|
1535
|
-
var dailySalesPaymentsConfig = {
|
|
1536
|
-
fields: FIELDS13,
|
|
1537
|
-
availableColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
|
|
1538
|
-
defaultVisibleColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
|
|
1539
|
-
hasFooter: true
|
|
1540
|
-
};
|
|
1541
|
-
|
|
1542
|
-
// src/reports/dailySalesDiscounts.ts
|
|
1543
|
-
var FIELDS14 = {
|
|
1544
|
-
discountName: { type: "string", columnKey: "discountName", size: FIRST_COLUMN_WIDTH },
|
|
1545
|
-
ticketCount: { type: "number", columnKey: "ticketCount", footerCalculation: { type: "sum" } },
|
|
1546
|
-
itemCount: { type: "number", columnKey: "itemCount", footerCalculation: { type: "sum" } },
|
|
1547
|
-
discountsAmount: { type: "money", columnKey: "discountAmount", footerCalculation: { type: "sum" } }
|
|
1625
|
+
// src/reports/dailySalesLive.ts
|
|
1626
|
+
var FIELDS17 = {
|
|
1627
|
+
groupById: { type: "string" },
|
|
1628
|
+
groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
|
|
1629
|
+
itemsQuantity: { type: "number", columnKey: "quantity" },
|
|
1630
|
+
salesAmountGross: { type: "money", columnKey: "grossSales" },
|
|
1631
|
+
discountsAmount: { type: "money", columnKey: "discountAmount" },
|
|
1632
|
+
inclusiveTaxesAmount: { type: "money", columnKey: "inclusiveTax" },
|
|
1633
|
+
salesAmountNet: { type: "money", columnKey: "netSales" },
|
|
1634
|
+
salesMixPct: { type: "percent", columnKey: "salesMixByPct" },
|
|
1635
|
+
guestsCount: { type: "number", columnKey: "guests" }
|
|
1548
1636
|
};
|
|
1549
|
-
var
|
|
1550
|
-
"
|
|
1551
|
-
"
|
|
1552
|
-
"discountsAmount"
|
|
1637
|
+
var DAILY_SALES_LIVE_AVAILABLE_COLUMNS = [
|
|
1638
|
+
"itemsQuantity",
|
|
1639
|
+
"salesAmountGross",
|
|
1640
|
+
"discountsAmount",
|
|
1641
|
+
"inclusiveTaxesAmount",
|
|
1642
|
+
"salesAmountNet",
|
|
1643
|
+
"salesMixPct"
|
|
1553
1644
|
];
|
|
1554
|
-
var
|
|
1555
|
-
fields:
|
|
1556
|
-
availableColumns:
|
|
1557
|
-
defaultVisibleColumns:
|
|
1558
|
-
hasFooter: true
|
|
1559
|
-
};
|
|
1560
|
-
|
|
1561
|
-
// src/reports/dailySalesRefundsVoids.ts
|
|
1562
|
-
var FIELDS15 = {
|
|
1563
|
-
description: { type: "string", columnKey: "refundVoidDescription", size: FIRST_COLUMN_WIDTH },
|
|
1564
|
-
count: { type: "number", columnKey: "refundVoidCount", footerCalculation: { type: "sum" } },
|
|
1565
|
-
amount: { type: "money", columnKey: "refundVoidAmount", footerCalculation: { type: "sum" } },
|
|
1566
|
-
pctSales: { type: "percent", columnKey: "refundVoidPctSales", footerCalculation: { type: "sum" } }
|
|
1567
|
-
};
|
|
1568
|
-
var DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS = ["count", "amount", "pctSales"];
|
|
1569
|
-
var dailySalesRefundsVoidsConfig = {
|
|
1570
|
-
fields: FIELDS15,
|
|
1571
|
-
availableColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
|
|
1572
|
-
defaultVisibleColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
|
|
1645
|
+
var dailySalesLiveConfig = {
|
|
1646
|
+
fields: FIELDS17,
|
|
1647
|
+
availableColumns: DAILY_SALES_LIVE_AVAILABLE_COLUMNS,
|
|
1648
|
+
defaultVisibleColumns: DAILY_SALES_LIVE_AVAILABLE_COLUMNS,
|
|
1573
1649
|
hasFooter: true
|
|
1574
1650
|
};
|
|
1575
1651
|
|
|
1576
|
-
// src/reports/
|
|
1577
|
-
var
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
};
|
|
1583
|
-
var DAILY_SALES_TAXES_AVAILABLE_COLUMNS = ["taxableSales", "taxesAmount", "exemptSales"];
|
|
1584
|
-
var dailySalesTaxesConfig = {
|
|
1585
|
-
fields: FIELDS16,
|
|
1586
|
-
availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
|
|
1587
|
-
defaultVisibleColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
|
|
1588
|
-
hasFooter: true
|
|
1652
|
+
// src/reports/reportSection.ts
|
|
1653
|
+
var DAILY_SALES_CASH_ROW_LABELS = {
|
|
1654
|
+
cashPayments: "common.report-section.cash-row.cash-payments",
|
|
1655
|
+
paidInOuts: "common.report-section.cash-row.paid-in-outs",
|
|
1656
|
+
gratuitiesPaidOut: "common.report-section.cash-row.gratuities-paid-out",
|
|
1657
|
+
ccTipsPaidOut: "common.report-section.cash-row.cc-tips-paid-out"
|
|
1589
1658
|
};
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1659
|
+
var DAILY_SALES_REV_CLASS_FOOTER_LABELS = {
|
|
1660
|
+
taxTotal: "common.report-section.rev-class-footer.tax-total",
|
|
1661
|
+
gratuities: "common.report-section.rev-class-footer.gratuities",
|
|
1662
|
+
balancePayments: "common.report-section.rev-class-footer.balance-payments",
|
|
1663
|
+
giftCardSales: "common.report-section.rev-class-footer.gift-card-sales",
|
|
1664
|
+
nonSalesRevenue: "common.report-section.rev-class-footer.non-sales-revenue",
|
|
1665
|
+
totalAccountable: "common.report-section.rev-class-footer.total-accountable"
|
|
1595
1666
|
};
|
|
1596
|
-
var
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1667
|
+
var DAILY_SALES_SECTIONS = [
|
|
1668
|
+
{
|
|
1669
|
+
sectionLabel: "common.report-section.revenue-class",
|
|
1670
|
+
config: dailySalesConfig,
|
|
1671
|
+
columns: [
|
|
1672
|
+
{ fieldKey: "groupByName", columnKey: "revenueClass" },
|
|
1673
|
+
{ fieldKey: "itemsQuantity", columnKey: "quantity" },
|
|
1674
|
+
{ fieldKey: "salesAmountGross", columnKey: "grossSales" },
|
|
1675
|
+
{ fieldKey: "discountsAmount", columnKey: "discountAmount" },
|
|
1676
|
+
{ fieldKey: "inclusiveTaxesAmount", columnKey: "inclusiveTax" },
|
|
1677
|
+
{ fieldKey: "salesAmountNet", columnKey: "netSales" },
|
|
1678
|
+
{ fieldKey: "salesMixPct", columnKey: "salesMixByPct" }
|
|
1679
|
+
]
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
sectionLabel: "common.report-section.payments",
|
|
1683
|
+
config: dailySalesPaymentsConfig,
|
|
1684
|
+
columns: [
|
|
1685
|
+
{ fieldKey: "paymentTypeName", columnKey: "paymentType" },
|
|
1686
|
+
{ fieldKey: "paymentsCount", columnKey: "paymentsCount" },
|
|
1687
|
+
{ fieldKey: "paymentsAmount", columnKey: "paymentsAmount" },
|
|
1688
|
+
{ fieldKey: "tipsAmount", columnKey: "tips" },
|
|
1689
|
+
{ fieldKey: "totalSales", columnKey: "paymentsTotal" }
|
|
1690
|
+
]
|
|
1691
|
+
},
|
|
1692
|
+
{
|
|
1693
|
+
sectionLabel: "common.report-section.cash",
|
|
1694
|
+
config: dailySalesCacheConfig,
|
|
1695
|
+
columns: [
|
|
1696
|
+
{ fieldKey: "name", columnKey: "type", isRowLabelKey: true },
|
|
1697
|
+
{ fieldKey: "amount", columnKey: "paymentsAmount" }
|
|
1698
|
+
]
|
|
1699
|
+
},
|
|
1700
|
+
{
|
|
1701
|
+
sectionLabel: "common.report-section.taxes",
|
|
1702
|
+
config: dailySalesTaxesConfig,
|
|
1703
|
+
columns: [
|
|
1704
|
+
{ fieldKey: "taxName", columnKey: "taxName" },
|
|
1705
|
+
{ fieldKey: "taxableSales", columnKey: "taxableSales" },
|
|
1706
|
+
{ fieldKey: "taxesAmount", columnKey: "taxCollected" },
|
|
1707
|
+
{ fieldKey: "exemptSales", columnKey: "exemptTaxes" }
|
|
1708
|
+
]
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
sectionLabel: "common.report-section.refunds-voids",
|
|
1712
|
+
config: dailySalesRefundsVoidsConfig,
|
|
1713
|
+
columns: [
|
|
1714
|
+
{ fieldKey: "description", columnKey: "refundVoidDescription" },
|
|
1715
|
+
{ fieldKey: "count", columnKey: "refundVoidCount" },
|
|
1716
|
+
{ fieldKey: "amount", columnKey: "refundVoidAmount" },
|
|
1717
|
+
{ fieldKey: "pctSales", columnKey: "refundVoidPctSales" }
|
|
1718
|
+
]
|
|
1719
|
+
},
|
|
1720
|
+
{
|
|
1721
|
+
sectionLabel: "common.report-section.discounts",
|
|
1722
|
+
config: dailySalesDiscountsConfig,
|
|
1723
|
+
columns: [
|
|
1724
|
+
{ fieldKey: "discountName", columnKey: "discountName" },
|
|
1725
|
+
{ fieldKey: "ticketCount", columnKey: "ticketCount" },
|
|
1726
|
+
{ fieldKey: "itemCount", columnKey: "itemCount" },
|
|
1727
|
+
{ fieldKey: "discountsAmount", columnKey: "discountAmount" }
|
|
1728
|
+
]
|
|
1729
|
+
},
|
|
1730
|
+
{
|
|
1731
|
+
sectionLabel: "common.report-section.sales-by-day-part",
|
|
1732
|
+
config: dailySalesTrendsConfig,
|
|
1733
|
+
columns: [
|
|
1734
|
+
{ fieldKey: "groupByName", columnKey: "daypart" },
|
|
1735
|
+
{ fieldKey: "ticketsCount", columnKey: "tickets" },
|
|
1736
|
+
{ fieldKey: "guestsCount", columnKey: "guests" },
|
|
1737
|
+
{ fieldKey: "ticketAvg", columnKey: "ticketAverage" },
|
|
1738
|
+
{ fieldKey: "guestAvg", columnKey: "guestAverage" },
|
|
1739
|
+
{ fieldKey: "salesAmountNet", columnKey: "netSales" }
|
|
1740
|
+
]
|
|
1741
|
+
},
|
|
1742
|
+
{
|
|
1743
|
+
sectionLabel: "common.report-section.sales-by-order-type",
|
|
1744
|
+
config: dailySalesTrendsOrderTypeConfig,
|
|
1745
|
+
columns: [
|
|
1746
|
+
{ fieldKey: "groupByName", columnKey: "orderType" },
|
|
1747
|
+
{ fieldKey: "ticketsCount", columnKey: "tickets" },
|
|
1748
|
+
{ fieldKey: "guestsCount", columnKey: "guests" },
|
|
1749
|
+
{ fieldKey: "ticketAvg", columnKey: "ticketAverage" },
|
|
1750
|
+
{ fieldKey: "guestAvg", columnKey: "guestAverage" },
|
|
1751
|
+
{ fieldKey: "salesAmountNet", columnKey: "netSales" }
|
|
1752
|
+
]
|
|
1753
|
+
}
|
|
1754
|
+
];
|
|
1755
|
+
var REPORT_SECTION_CONFIGS = {
|
|
1756
|
+
[Report.DAILY_SALES]: DAILY_SALES_SECTIONS,
|
|
1757
|
+
[Report.DAILY_SALES_LIVE]: DAILY_SALES_SECTIONS
|
|
1601
1758
|
};
|
|
1602
1759
|
|
|
1603
1760
|
// src/formatting.ts
|
|
@@ -1740,6 +1897,9 @@ var formatFieldValue = (value, type, localeOptions, fullRecord, fieldConfig = DE
|
|
|
1740
1897
|
};
|
|
1741
1898
|
export {
|
|
1742
1899
|
COLUMN_REGISTRY,
|
|
1900
|
+
DAILY_SALES_CASH_ROW_LABELS,
|
|
1901
|
+
DAILY_SALES_REV_CLASS_FOOTER_LABELS,
|
|
1902
|
+
REPORT_SECTION_CONFIGS,
|
|
1743
1903
|
Report,
|
|
1744
1904
|
calculateFieldTotal,
|
|
1745
1905
|
calculateReportTotals,
|
|
@@ -1751,6 +1911,7 @@ export {
|
|
|
1751
1911
|
dailySalesRefundsVoidsConfig,
|
|
1752
1912
|
dailySalesTaxesConfig,
|
|
1753
1913
|
dailySalesTrendsConfig,
|
|
1914
|
+
dailySalesTrendsOrderTypeConfig,
|
|
1754
1915
|
employeeTimecardConfig,
|
|
1755
1916
|
employeeTipConfig,
|
|
1756
1917
|
formatDate,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harbortouch/skytab-analytics-report-utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Centralized report column presentation configuration for SkyTab Analytics",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.6.0",
|
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"import": "./dist/index.js",
|
|
16
16
|
"require": "./dist/index.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./csv": {
|
|
19
|
+
"types": "./dist/csv/index.d.ts",
|
|
20
|
+
"import": "./dist/csv/index.js",
|
|
21
|
+
"require": "./dist/csv/index.cjs"
|
|
17
22
|
}
|
|
18
23
|
},
|
|
19
24
|
"files": [
|
|
@@ -45,5 +50,8 @@
|
|
|
45
50
|
"typescript-eslint": "^8.53.1",
|
|
46
51
|
"vitest": "^4.1.5"
|
|
47
52
|
},
|
|
48
|
-
"packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a"
|
|
53
|
+
"packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a",
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"csv-stringify": "^6.8.1"
|
|
56
|
+
}
|
|
49
57
|
}
|