@harbortouch/skytab-analytics-report-utils 0.42.1 → 0.43.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/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { M as MessageKey, F as FieldType, C as ColumnAlignment, a as ColumnPresentationConfig, b as ColumnGroupConfig, R as ReportType, c as ReportConfig, d as ReportColumnKey } from './report-D307oJxt.js';
2
- export { A as AnalyticsField, e as COLUMN_REGISTRY, f as ColumnMessageKey, g as ColumnMetadata, h as FooterCalculation, i as FooterCalculationType, j as Report, k as getColumnExportHeaderLabel, l as getColumnMetadata, m as getFixedColumns, n as getReportConfig, o as getReportExportFileName } from './report-D307oJxt.js';
1
+ import { M as MessageKey, F as FieldType, C as ColumnAlignment, a as ColumnPresentationConfig, b as ColumnGroupConfig, R as ReportType, c as ReportConfig, d as ReportColumnKey } from './report-S9pw--Rv.js';
2
+ export { A as AnalyticsField, e as COLUMN_REGISTRY, f as ColumnMessageKey, g as ColumnMetadata, h as FooterCalculation, i as FooterCalculationType, j as Report, k as getColumnExportHeaderLabel, l as getColumnMetadata, m as getFixedColumns, n as getReportConfig, o as getReportExportFileName } from './report-S9pw--Rv.js';
3
3
  import { LocaleCode } from '@harbortouch/locale-registry';
4
4
  export { R as RenderedReport, a as ReportDocument, b as ReportFormat, c as ReportSection, d as ResolvedColumn, S as SummaryRow } from './ir-CUi0Z9hv.js';
5
5
 
@@ -9,16 +9,18 @@ declare function resolveTranslate(key: MessageKey, locale: string): string;
9
9
  declare function getColumnAlignment(type?: FieldType): ColumnAlignment;
10
10
  declare function isNumericType(type?: FieldType): boolean;
11
11
 
12
- declare const getFooterValue: <T>(rows: T[], field: keyof T, config: ColumnPresentationConfig) => number | "common.report-col.fifteen-min-interval" | "common.report-col.fifteen-min-interval.short" | "common.report-col.fifteen-min-interval.info" | "common.report-col.adjusted-tips" | "common.report-col.adjusted-tips.short" | "common.report-col.adjusted-tips.info" | "common.report-col.advantage-program" | "common.report-col.advantage-program.short" | "common.report-col.advantage-program.info" | "common.report-col.amex" | "common.report-col.amex.short" | "common.report-col.amex.info" | "common.report-col.amex-returns" | "common.report-col.amex-returns.short" | "common.report-col.amex-returns.info" | "common.report-col.attach-rate" | "common.report-col.attach-rate.short" | "common.report-col.attach-rate.info" | "common.report-col.auto-gratuity" | "common.report-col.auto-gratuity.short" | "common.report-col.auto-gratuity.info" | "common.report-col.average-gross-price" | "common.report-col.average-gross-price.short" | "common.report-col.average-gross-price.info" | "common.report-col.bank-fees" | "common.report-col.bank-fees.short" | "common.report-col.bank-fees.info" | "common.report-col.batch-amount" | "common.report-col.batch-amount.short" | "common.report-col.batch-amount.info" | "common.report-col.batch-date" | "common.report-col.batch-date.short" | "common.report-col.batch-date.info" | "common.report-col.batch-number" | "common.report-col.batch-number.short" | "common.report-col.batch-number.info" | "common.report-col.cash-collected" | "common.report-col.cash-collected.short" | "common.report-col.cash-collected.info" | "common.report-col.clock-in-time" | "common.report-col.clock-in-time.short" | "common.report-col.clock-in-time.info" | "common.report-col.clock-out-time" | "common.report-col.clock-out-time.short" | "common.report-col.clock-out-time.info" | "common.report-col.status" | "common.report-col.status.short" | "common.report-col.status.info" | "common.report-col.employee-status" | "common.report-col.employee-status.short" | "common.report-col.employee-status.info" | "common.report-col.last-modified" | "common.report-col.last-modified.short" | "common.report-col.last-modified.info" | "common.report-col.country" | "common.report-col.country.short" | "common.report-col.country.info" | "common.report-col.customer-name" | "common.report-col.customer-name.short" | "common.report-col.customer-name.info" | "common.report-col.date" | "common.report-col.date.short" | "common.report-col.date.info" | "common.report-col.date-close" | "common.report-col.date-close.short" | "common.report-col.date-close.info" | "common.report-col.daypart" | "common.report-col.daypart.short" | "common.report-col.daypart.info" | "common.report-col.debit" | "common.report-col.debit.short" | "common.report-col.debit.info" | "common.report-col.debit-returns" | "common.report-col.debit-returns.short" | "common.report-col.debit-returns.info" | "common.report-col.declared-tips" | "common.report-col.declared-tips.short" | "common.report-col.declared-tips.info" | "common.report-col.department" | "common.report-col.department.short" | "common.report-col.department.info" | "common.report-col.deposit-currency" | "common.report-col.deposit-currency.short" | "common.report-col.deposit-currency.info" | "common.report-col.deposit-date" | "common.report-col.deposit-date.short" | "common.report-col.deposit-date.info" | "common.report-col.discount-amount" | "common.report-col.discount-amount.short" | "common.report-col.discount-amount.info" | "common.report-col.discount-count" | "common.report-col.discount-count.short" | "common.report-col.discount-count.info" | "common.report-col.ticket-count" | "common.report-col.ticket-count.short" | "common.report-col.ticket-count.info" | "common.report-col.item-count" | "common.report-col.item-count.short" | "common.report-col.item-count.info" | "common.report-col.discover" | "common.report-col.discover.short" | "common.report-col.discover.info" | "common.report-col.discover-returns" | "common.report-col.discover-returns.short" | "common.report-col.discover-returns.info" | "common.report-col.ebt" | "common.report-col.ebt.short" | "common.report-col.ebt.info" | "common.report-col.ebt-returns" | "common.report-col.ebt-returns.short" | "common.report-col.ebt-returns.info" | "common.report-col.employee-id" | "common.report-col.employee-id.short" | "common.report-col.employee-id.info" | "common.report-col.employee-job" | "common.report-col.employee-job.short" | "common.report-col.employee-job.info" | "common.report-col.employee-name" | "common.report-col.employee-name.short" | "common.report-col.employee-name.info" | "common.report-col.exempt-taxes" | "common.report-col.exempt-taxes.short" | "common.report-col.exempt-taxes.info" | "common.report-col.exempt-sales" | "common.report-col.exempt-sales.short" | "common.report-col.exempt-sales.info" | "common.report-col.grand-total" | "common.report-col.grand-total.short" | "common.report-col.grand-total.info" | "common.report-col.gross-cash-sales" | "common.report-col.gross-cash-sales.short" | "common.report-col.gross-cash-sales.info" | "common.report-col.gross-credit-sales" | "common.report-col.gross-credit-sales.short" | "common.report-col.gross-credit-sales.info" | "common.report-col.gross-sales" | "common.report-col.gross-sales.short" | "common.report-col.gross-sales.info" | "common.report-col.gross-sales-var-lw" | "common.report-col.gross-sales-var-lw.short" | "common.report-col.gross-sales-var-lw.info" | "common.report-col.gross-sales-var-lw-pct" | "common.report-col.gross-sales-var-lw-pct.short" | "common.report-col.gross-sales-var-lw-pct.info" | "common.report-col.gross-sales-var-ly" | "common.report-col.gross-sales-var-ly.short" | "common.report-col.gross-sales-var-ly.info" | "common.report-col.gross-sales-var-ly-pct" | "common.report-col.gross-sales-var-ly-pct.short" | "common.report-col.gross-sales-var-ly-pct.info" | "common.report-col.gross-tips" | "common.report-col.gross-tips.short" | "common.report-col.gross-tips.info" | "common.report-col.guest-count" | "common.report-col.guest-count.short" | "common.report-col.guest-count.info" | "common.report-col.guests-var-lw" | "common.report-col.guests-var-lw.short" | "common.report-col.guests-var-lw.info" | "common.report-col.guests-var-lw-pct" | "common.report-col.guests-var-lw-pct.short" | "common.report-col.guests-var-lw-pct.info" | "common.report-col.guests-var-ly" | "common.report-col.guests-var-ly.short" | "common.report-col.guests-var-ly.info" | "common.report-col.guests-var-ly-pct" | "common.report-col.guests-var-ly-pct.short" | "common.report-col.guests-var-ly-pct.info" | "common.report-col.hour" | "common.report-col.hour.short" | "common.report-col.hour.info" | "common.report-col.hours-worked" | "common.report-col.hours-worked.short" | "common.report-col.hours-worked.info" | "common.report-col.inclusive-tax" | "common.report-col.inclusive-tax.short" | "common.report-col.inclusive-tax.info" | "common.report-col.item-name" | "common.report-col.item-name.short" | "common.report-col.item-name.info" | "common.report-col.item-price" | "common.report-col.item-price.short" | "common.report-col.item-price.info" | "common.report-col.location-city" | "common.report-col.location-city.short" | "common.report-col.location-city.info" | "common.report-col.location-id" | "common.report-col.location-id.short" | "common.report-col.location-id.info" | "common.report-col.location-mid" | "common.report-col.location-mid.short" | "common.report-col.location-mid.info" | "common.report-col.location-name" | "common.report-col.location-name.short" | "common.report-col.location-name.info" | "common.report-col.location-state" | "common.report-col.location-state.short" | "common.report-col.location-state.info" | "common.report-col.mastercard" | "common.report-col.mastercard.short" | "common.report-col.mastercard.info" | "common.report-col.mc-returns" | "common.report-col.mc-returns.short" | "common.report-col.mc-returns.info" | "common.report-col.modifier-name" | "common.report-col.modifier-name.short" | "common.report-col.modifier-name.info" | "common.report-col.modifier-price" | "common.report-col.modifier-price.short" | "common.report-col.modifier-price.info" | "common.report-col.modifier-quantity" | "common.report-col.modifier-quantity.short" | "common.report-col.modifier-quantity.info" | "common.report-col.item-quantity" | "common.report-col.item-quantity.short" | "common.report-col.item-quantity.info" | "common.report-col.modifier-quantity-comp" | "common.report-col.modifier-quantity-comp.short" | "common.report-col.modifier-quantity-comp.info" | "common.report-col.item-quantity-comp" | "common.report-col.item-quantity-comp.short" | "common.report-col.item-quantity-comp.info" | "common.report-col.attach-rate-comp" | "common.report-col.attach-rate-comp.short" | "common.report-col.attach-rate-comp.info" | "common.report-col.total-modifier-sales-var" | "common.report-col.total-modifier-sales-var.short" | "common.report-col.total-modifier-sales-var.info" | "common.report-col.total-modifier-sales-var-pct" | "common.report-col.total-modifier-sales-var-pct.short" | "common.report-col.total-modifier-sales-var-pct.info" | "common.report-col.modifier-quantity-var" | "common.report-col.modifier-quantity-var.short" | "common.report-col.modifier-quantity-var.info" | "common.report-col.modifier-quantity-var-pct" | "common.report-col.modifier-quantity-var-pct.short" | "common.report-col.modifier-quantity-var-pct.info" | "common.report-col.attach-rate-var" | "common.report-col.attach-rate-var.short" | "common.report-col.attach-rate-var.info" | "common.report-col.attach-rate-var-pct" | "common.report-col.attach-rate-var-pct.short" | "common.report-col.attach-rate-var-pct.info" | "common.report-col.total-modifier-sales-comp" | "common.report-col.total-modifier-sales-comp.short" | "common.report-col.total-modifier-sales-comp.info" | "common.report-col.net-sales" | "common.report-col.net-sales.short" | "common.report-col.net-sales.info" | "common.report-col.net-tax-collected" | "common.report-col.net-tax-collected.short" | "common.report-col.net-tax-collected.info" | "common.report-col.net-tips" | "common.report-col.net-tips.short" | "common.report-col.net-tips.info" | "common.report-col.number-of-guests" | "common.report-col.number-of-guests.short" | "common.report-col.number-of-guests.info" | "common.report-col.order-type" | "common.report-col.order-type.short" | "common.report-col.order-type.info" | "common.report-col.payment-type" | "common.report-col.payment-type.short" | "common.report-col.payment-type.info" | "common.report-col.payroll-id" | "common.report-col.payroll-id.short" | "common.report-col.payroll-id.info" | "common.report-col.quantity" | "common.report-col.quantity.short" | "common.report-col.quantity.info" | "common.report-col.reference-number" | "common.report-col.reference-number.short" | "common.report-col.reference-number.info" | "common.report-col.refund-amount" | "common.report-col.refund-amount.short" | "common.report-col.refund-amount.info" | "common.report-col.refunded-tax-amount" | "common.report-col.refunded-tax-amount.short" | "common.report-col.refunded-tax-amount.info" | "common.report-col.revenue-center" | "common.report-col.revenue-center.short" | "common.report-col.revenue-center.info" | "common.report-col.revenue-class" | "common.report-col.revenue-class.short" | "common.report-col.revenue-class.info" | "common.report-col.sales-var-lw" | "common.report-col.sales-var-lw.short" | "common.report-col.sales-var-lw.info" | "common.report-col.sales-var-lw-pct" | "common.report-col.sales-var-lw-pct.short" | "common.report-col.sales-var-lw-pct.info" | "common.report-col.sales-var-ly" | "common.report-col.sales-var-ly.short" | "common.report-col.sales-var-ly.info" | "common.report-col.sales-var-ly-pct" | "common.report-col.sales-var-ly-pct.short" | "common.report-col.sales-var-ly-pct.info" | "common.report-col.sales-mix-by-pct" | "common.report-col.sales-mix-by-pct.short" | "common.report-col.sales-mix-by-pct.info" | "common.report-col.sales-per-guest" | "common.report-col.sales-per-guest.short" | "common.report-col.sales-per-guest.info" | "common.report-col.sales-per-guest-lw" | "common.report-col.sales-per-guest-lw.short" | "common.report-col.sales-per-guest-lw.info" | "common.report-col.sales-per-guest-ly" | "common.report-col.sales-per-guest-ly.short" | "common.report-col.sales-per-guest-ly.info" | "common.report-col.scheduled-shift-end" | "common.report-col.scheduled-shift-end.short" | "common.report-col.scheduled-shift-end.info" | "common.report-col.scheduled-shift-start" | "common.report-col.scheduled-shift-start.short" | "common.report-col.scheduled-shift-start.info" | "common.report-col.settlement-batch-date" | "common.report-col.settlement-batch-date.short" | "common.report-col.settlement-batch-date.info" | "common.report-col.shift-duration-hrs" | "common.report-col.shift-duration-hrs.short" | "common.report-col.shift-duration-hrs.info" | "common.report-col.subtotal" | "common.report-col.subtotal.short" | "common.report-col.subtotal.info" | "common.report-col.tax-collected" | "common.report-col.tax-collected.short" | "common.report-col.tax-collected.info" | "common.report-col.taxes-var-lw" | "common.report-col.taxes-var-lw.short" | "common.report-col.taxes-var-lw.info" | "common.report-col.taxes-var-lw-pct" | "common.report-col.taxes-var-lw-pct.short" | "common.report-col.taxes-var-lw-pct.info" | "common.report-col.taxes-var-ly" | "common.report-col.taxes-var-ly.short" | "common.report-col.taxes-var-ly.info" | "common.report-col.taxes-var-ly-pct" | "common.report-col.taxes-var-ly-pct.short" | "common.report-col.taxes-var-ly-pct.info" | "common.report-col.tax-name" | "common.report-col.tax-name.short" | "common.report-col.tax-name.info" | "common.report-col.tax-rate" | "common.report-col.tax-rate.short" | "common.report-col.tax-rate.info" | "common.report-col.taxable-sales" | "common.report-col.taxable-sales.short" | "common.report-col.taxable-sales.info" | "common.report-col.ticket-closed" | "common.report-col.ticket-closed.short" | "common.report-col.ticket-closed.info" | "common.report-col.ticket-fee" | "common.report-col.ticket-fee.short" | "common.report-col.ticket-fee.info" | "common.report-col.ticket-number" | "common.report-col.ticket-number.short" | "common.report-col.ticket-number.info" | "common.report-col.ticket-open" | "common.report-col.ticket-open.short" | "common.report-col.ticket-open.info" | "common.report-col.ticket-total" | "common.report-col.ticket-total.short" | "common.report-col.ticket-total.info" | "common.report-col.time-open-mins" | "common.report-col.time-open-mins.short" | "common.report-col.time-open-mins.info" | "common.report-col.tip-pct" | "common.report-col.tip-pct.short" | "common.report-col.tip-pct.info" | "common.report-col.tip-reduction" | "common.report-col.tip-reduction.short" | "common.report-col.tip-reduction.info" | "common.report-col.tip-share" | "common.report-col.tip-share.short" | "common.report-col.tip-share.info" | "common.report-col.tip-share-contributed" | "common.report-col.tip-share-contributed.short" | "common.report-col.tip-share-contributed.info" | "common.report-col.tips" | "common.report-col.tips.short" | "common.report-col.tips.info" | "common.report-col.tips-per-hour" | "common.report-col.tips-per-hour.short" | "common.report-col.tips-per-hour.info" | "common.report-col.total-collected" | "common.report-col.total-collected.short" | "common.report-col.total-collected.info" | "common.report-col.total-item-sales" | "common.report-col.total-item-sales.short" | "common.report-col.total-item-sales.info" | "common.report-col.total-modifier-sales" | "common.report-col.total-modifier-sales.short" | "common.report-col.total-modifier-sales.info" | "common.report-col.total-returns" | "common.report-col.total-returns.short" | "common.report-col.total-returns.info" | "common.report-col.total-sales" | "common.report-col.total-sales.short" | "common.report-col.total-sales.info" | "common.report-col.total-tips" | "common.report-col.total-tips.short" | "common.report-col.total-tips.info" | "common.report-col.transaction-date" | "common.report-col.transaction-date.short" | "common.report-col.transaction-date.info" | "common.report-col.sale-payment-type" | "common.report-col.sale-payment-type.short" | "common.report-col.sale-payment-type.info" | "common.report-col.transaction-type" | "common.report-col.transaction-type.short" | "common.report-col.transaction-type.info" | "common.report-col.untaxed-sales" | "common.report-col.untaxed-sales.short" | "common.report-col.untaxed-sales.info" | "common.report-col.visa" | "common.report-col.visa.short" | "common.report-col.visa.info" | "common.report-col.visa-returns" | "common.report-col.visa-returns.short" | "common.report-col.visa-returns.info" | "common.report-col.payments-count" | "common.report-col.payments-count.short" | "common.report-col.payments-count.info" | "common.report-col.payments-amount" | "common.report-col.payments-amount.short" | "common.report-col.payments-amount.info" | "common.report-col.payments-total" | "common.report-col.payments-total.short" | "common.report-col.payments-total.info" | "common.report-col.refund-void-description" | "common.report-col.refund-void-description.short" | "common.report-col.refund-void-description.info" | "common.report-col.refund-void-count" | "common.report-col.refund-void-count.short" | "common.report-col.refund-void-count.info" | "common.report-col.refund-void-amount" | "common.report-col.refund-void-amount.short" | "common.report-col.refund-void-amount.info" | "common.report-col.refund-void-pct-sales" | "common.report-col.refund-void-pct-sales.short" | "common.report-col.refund-void-pct-sales.info" | "common.report-col.discount-name" | "common.report-col.discount-name.short" | "common.report-col.discount-name.info" | "common.report-col.tickets" | "common.report-col.tickets.short" | "common.report-col.tickets.info" | "common.report-col.guests" | "common.report-col.guests.short" | "common.report-col.guests.info" | "common.report-col.ticket-average" | "common.report-col.ticket-average.short" | "common.report-col.ticket-average.info" | "common.report-col.guest-average" | "common.report-col.guest-average.short" | "common.report-col.guest-average.info" | "common.report-col.net" | "common.report-col.net.short" | "common.report-col.net.info" | "common.report-col.gross-cash-tips" | "common.report-col.gross-cash-tips.short" | "common.report-col.gross-cash-tips.info" | "common.report-col.gross-credit-card-tips" | "common.report-col.gross-credit-card-tips.short" | "common.report-col.gross-credit-card-tips.info" | "common.report-col.type" | "common.report-col.type.short" | "common.report-col.type.info" | "common.report-col.paid-normal-hours" | "common.report-col.paid-normal-hours.short" | "common.report-col.paid-normal-hours.info" | "common.report-col.normal-pay" | "common.report-col.normal-pay.short" | "common.report-col.normal-pay.info" | "common.report-col.overtime-pay" | "common.report-col.overtime-pay.short" | "common.report-col.overtime-pay.info" | "common.report-col.double-overtime-pay" | "common.report-col.double-overtime-pay.short" | "common.report-col.double-overtime-pay.info" | "common.report-col.gratuity" | "common.report-col.gratuity.short" | "common.report-col.gratuity.info" | "common.report-col.tip-paid-status" | "common.report-col.tip-paid-status.short" | "common.report-col.tip-paid-status.info" | "common.report-col.total-payments" | "common.report-col.total-payments.short" | "common.report-col.total-payments.info" | "common.report-col.minimum-wage-adjustment" | "common.report-col.minimum-wage-adjustment.short" | "common.report-col.minimum-wage-adjustment.info" | "common.report-col.total-pay" | "common.report-col.total-pay.short" | "common.report-col.total-pay.info" | "common.report-col.table-name" | "common.report-col.table-name.short" | "common.report-col.table-name.info" | "common.report-section.revenue-class" | "common.report-section.payments" | "common.report-section.cash" | "common.report-section.taxes" | "common.report-section.refunds-voids" | "common.report-section.discounts" | "common.report-section.sales-by-day-part" | "common.report-section.sales-by-order-type" | "common.report-section.cash-row.cash-payments" | "common.report-section.cash-row.paid-in-outs" | "common.report-section.cash-row.gratuities-paid-out" | "common.report-section.cash-row.cc-tips-paid-out" | "common.report-section.rev-class-footer.tax-total" | "common.report-section.rev-class-footer.gratuities" | "common.report-section.rev-class-footer.balance-payments" | "common.report-section.rev-class-footer.gift-card-sales" | "common.report-section.rev-class-footer.non-sales-revenue" | "common.report-section.rev-class-footer.house-account" | "common.report-section.rev-class-footer.total-accountable" | "scheduled-reports.report-name" | "scheduled-reports.period" | "scheduled-reports.generated-at" | "scheduled-reports.generated-by" | "scheduled-reports.applied-filters" | "components.form.field.group-by" | "components.form.field.second-group-by" | "components.form.field.last-week" | "components.form.field.last-year" | "components.form.field.ordering" | "components.form.field.view-mode" | "components.form.field.show-non-sales" | "components.form.field.show-zero-amounts" | "components.filter.view-mode.summary" | "components.filter.view-mode.detail" | "common.labels.locations" | "common.labels.yes" | "common.labels.no" | "common.labels.unassigned" | "common.labels.none" | "common.sort-direction.ascending" | "common.sort-direction.descending" | "analytics.field.location_id" | "analytics.field.order_type_id" | "analytics.field.revenue_center_id" | "analytics.field.revenue_center_id.all" | "analytics.field.hour_id" | "analytics.field.daypart_id" | "analytics.field.timeslot_id" | "analytics.field.employee_id" | "analytics.field.employee_name" | "analytics.field.payroll_id" | "analytics.field.intraday_period_group" | "analytics.field.item_id" | "analytics.field.department_id" | "analytics.field.revenue_class_id" | "analytics.field.modifier_id" | "table.total" | "table.groups.sales" | "table.groups.net-sales" | "table.groups.taxes" | "table.groups.gross-sales" | "table.groups.guests" | "table.groups.sales-per-guest" | "employee-timecard.status.active" | "employee-timecard.status.inactive" | "employee-timecard.job.break-suffix" | null;
12
+ declare const getFooterValue: <T>(rows: T[], field: keyof T, config: ColumnPresentationConfig) => number | "common.report-col.fifteen-min-interval" | "common.report-col.fifteen-min-interval.short" | "common.report-col.fifteen-min-interval.info" | "common.report-col.adjusted-tips" | "common.report-col.adjusted-tips.short" | "common.report-col.adjusted-tips.info" | "common.report-col.advantage-program" | "common.report-col.advantage-program.short" | "common.report-col.advantage-program.info" | "common.report-col.amex" | "common.report-col.amex.short" | "common.report-col.amex.info" | "common.report-col.amex-returns" | "common.report-col.amex-returns.short" | "common.report-col.amex-returns.info" | "common.report-col.attach-rate" | "common.report-col.attach-rate.short" | "common.report-col.attach-rate.info" | "common.report-col.auto-gratuity" | "common.report-col.auto-gratuity.short" | "common.report-col.auto-gratuity.info" | "common.report-col.average-gross-price" | "common.report-col.average-gross-price.short" | "common.report-col.average-gross-price.info" | "common.report-col.bank-fees" | "common.report-col.bank-fees.short" | "common.report-col.bank-fees.info" | "common.report-col.batch-amount" | "common.report-col.batch-amount.short" | "common.report-col.batch-amount.info" | "common.report-col.batch-date" | "common.report-col.batch-date.short" | "common.report-col.batch-date.info" | "common.report-col.batch-number" | "common.report-col.batch-number.short" | "common.report-col.batch-number.info" | "common.report-col.cash-collected" | "common.report-col.cash-collected.short" | "common.report-col.cash-collected.info" | "common.report-col.clock-in-time" | "common.report-col.clock-in-time.short" | "common.report-col.clock-in-time.info" | "common.report-col.clock-out-time" | "common.report-col.clock-out-time.short" | "common.report-col.clock-out-time.info" | "common.report-col.status" | "common.report-col.status.short" | "common.report-col.status.info" | "common.report-col.employee-status" | "common.report-col.employee-status.short" | "common.report-col.employee-status.info" | "common.report-col.last-modified" | "common.report-col.last-modified.short" | "common.report-col.last-modified.info" | "common.report-col.country" | "common.report-col.country.short" | "common.report-col.country.info" | "common.report-col.customer-name" | "common.report-col.customer-name.short" | "common.report-col.customer-name.info" | "common.report-col.date" | "common.report-col.date.short" | "common.report-col.date.info" | "common.report-col.date-close" | "common.report-col.date-close.short" | "common.report-col.date-close.info" | "common.report-col.daypart" | "common.report-col.daypart.short" | "common.report-col.daypart.info" | "common.report-col.debit" | "common.report-col.debit.short" | "common.report-col.debit.info" | "common.report-col.debit-returns" | "common.report-col.debit-returns.short" | "common.report-col.debit-returns.info" | "common.report-col.declared-tips" | "common.report-col.declared-tips.short" | "common.report-col.declared-tips.info" | "common.report-col.department" | "common.report-col.department.short" | "common.report-col.department.info" | "common.report-col.deposit-currency" | "common.report-col.deposit-currency.short" | "common.report-col.deposit-currency.info" | "common.report-col.deposit-date" | "common.report-col.deposit-date.short" | "common.report-col.deposit-date.info" | "common.report-col.discount-amount" | "common.report-col.discount-amount.short" | "common.report-col.discount-amount.info" | "common.report-col.discount-count" | "common.report-col.discount-count.short" | "common.report-col.discount-count.info" | "common.report-col.ticket-count" | "common.report-col.ticket-count.short" | "common.report-col.ticket-count.info" | "common.report-col.item-count" | "common.report-col.item-count.short" | "common.report-col.item-count.info" | "common.report-col.discover" | "common.report-col.discover.short" | "common.report-col.discover.info" | "common.report-col.discover-returns" | "common.report-col.discover-returns.short" | "common.report-col.discover-returns.info" | "common.report-col.ebt" | "common.report-col.ebt.short" | "common.report-col.ebt.info" | "common.report-col.ebt-returns" | "common.report-col.ebt-returns.short" | "common.report-col.ebt-returns.info" | "common.report-col.employee-id" | "common.report-col.employee-id.short" | "common.report-col.employee-id.info" | "common.report-col.employee-job" | "common.report-col.employee-job.short" | "common.report-col.employee-job.info" | "common.report-col.employee-name" | "common.report-col.employee-name.short" | "common.report-col.employee-name.info" | "common.report-col.exempt-taxes" | "common.report-col.exempt-taxes.short" | "common.report-col.exempt-taxes.info" | "common.report-col.exempt-sales" | "common.report-col.exempt-sales.short" | "common.report-col.exempt-sales.info" | "common.report-col.grand-total" | "common.report-col.grand-total.short" | "common.report-col.grand-total.info" | "common.report-col.gross-cash-sales" | "common.report-col.gross-cash-sales.short" | "common.report-col.gross-cash-sales.info" | "common.report-col.gross-credit-sales" | "common.report-col.gross-credit-sales.short" | "common.report-col.gross-credit-sales.info" | "common.report-col.gross-sales" | "common.report-col.gross-sales.short" | "common.report-col.gross-sales.info" | "common.report-col.gross-sales-var-lw" | "common.report-col.gross-sales-var-lw.short" | "common.report-col.gross-sales-var-lw.info" | "common.report-col.gross-sales-var-lw-pct" | "common.report-col.gross-sales-var-lw-pct.short" | "common.report-col.gross-sales-var-lw-pct.info" | "common.report-col.gross-sales-var-ly" | "common.report-col.gross-sales-var-ly.short" | "common.report-col.gross-sales-var-ly.info" | "common.report-col.gross-sales-var-ly-pct" | "common.report-col.gross-sales-var-ly-pct.short" | "common.report-col.gross-sales-var-ly-pct.info" | "common.report-col.gross-tips" | "common.report-col.gross-tips.short" | "common.report-col.gross-tips.info" | "common.report-col.guest-count" | "common.report-col.guest-count.short" | "common.report-col.guest-count.info" | "common.report-col.guests-var-lw" | "common.report-col.guests-var-lw.short" | "common.report-col.guests-var-lw.info" | "common.report-col.guests-var-lw-pct" | "common.report-col.guests-var-lw-pct.short" | "common.report-col.guests-var-lw-pct.info" | "common.report-col.guests-var-ly" | "common.report-col.guests-var-ly.short" | "common.report-col.guests-var-ly.info" | "common.report-col.guests-var-ly-pct" | "common.report-col.guests-var-ly-pct.short" | "common.report-col.guests-var-ly-pct.info" | "common.report-col.hour" | "common.report-col.hour.short" | "common.report-col.hour.info" | "common.report-col.hours-worked" | "common.report-col.hours-worked.short" | "common.report-col.hours-worked.info" | "common.report-col.inclusive-tax" | "common.report-col.inclusive-tax.short" | "common.report-col.inclusive-tax.info" | "common.report-col.item-name" | "common.report-col.item-name.short" | "common.report-col.item-name.info" | "common.report-col.item-price" | "common.report-col.item-price.short" | "common.report-col.item-price.info" | "common.report-col.location-city" | "common.report-col.location-city.short" | "common.report-col.location-city.info" | "common.report-col.location-id" | "common.report-col.location-id.short" | "common.report-col.location-id.info" | "common.report-col.location-mid" | "common.report-col.location-mid.short" | "common.report-col.location-mid.info" | "common.report-col.location-name" | "common.report-col.location-name.short" | "common.report-col.location-name.info" | "common.report-col.location-state" | "common.report-col.location-state.short" | "common.report-col.location-state.info" | "common.report-col.mastercard" | "common.report-col.mastercard.short" | "common.report-col.mastercard.info" | "common.report-col.mc-returns" | "common.report-col.mc-returns.short" | "common.report-col.mc-returns.info" | "common.report-col.modifier-name" | "common.report-col.modifier-name.short" | "common.report-col.modifier-name.info" | "common.report-col.modifier-price" | "common.report-col.modifier-price.short" | "common.report-col.modifier-price.info" | "common.report-col.modifier-quantity" | "common.report-col.modifier-quantity.short" | "common.report-col.modifier-quantity.info" | "common.report-col.item-quantity" | "common.report-col.item-quantity.short" | "common.report-col.item-quantity.info" | "common.report-col.modifier-quantity-comp" | "common.report-col.modifier-quantity-comp.short" | "common.report-col.modifier-quantity-comp.info" | "common.report-col.item-quantity-comp" | "common.report-col.item-quantity-comp.short" | "common.report-col.item-quantity-comp.info" | "common.report-col.attach-rate-comp" | "common.report-col.attach-rate-comp.short" | "common.report-col.attach-rate-comp.info" | "common.report-col.total-modifier-sales-var" | "common.report-col.total-modifier-sales-var.short" | "common.report-col.total-modifier-sales-var.info" | "common.report-col.total-modifier-sales-var-pct" | "common.report-col.total-modifier-sales-var-pct.short" | "common.report-col.total-modifier-sales-var-pct.info" | "common.report-col.modifier-quantity-var" | "common.report-col.modifier-quantity-var.short" | "common.report-col.modifier-quantity-var.info" | "common.report-col.modifier-quantity-var-pct" | "common.report-col.modifier-quantity-var-pct.short" | "common.report-col.modifier-quantity-var-pct.info" | "common.report-col.attach-rate-var" | "common.report-col.attach-rate-var.short" | "common.report-col.attach-rate-var.info" | "common.report-col.attach-rate-var-pct" | "common.report-col.attach-rate-var-pct.short" | "common.report-col.attach-rate-var-pct.info" | "common.report-col.total-modifier-sales-comp" | "common.report-col.total-modifier-sales-comp.short" | "common.report-col.total-modifier-sales-comp.info" | "common.report-col.net-sales" | "common.report-col.net-sales.short" | "common.report-col.net-sales.info" | "common.report-col.net-tax-collected" | "common.report-col.net-tax-collected.short" | "common.report-col.net-tax-collected.info" | "common.report-col.net-tips" | "common.report-col.net-tips.short" | "common.report-col.net-tips.info" | "common.report-col.number-of-guests" | "common.report-col.number-of-guests.short" | "common.report-col.number-of-guests.info" | "common.report-col.order-type" | "common.report-col.order-type.short" | "common.report-col.order-type.info" | "common.report-col.payment-type" | "common.report-col.payment-type.short" | "common.report-col.payment-type.info" | "common.report-col.payroll-id" | "common.report-col.payroll-id.short" | "common.report-col.payroll-id.info" | "common.report-col.quantity" | "common.report-col.quantity.short" | "common.report-col.quantity.info" | "common.report-col.reference-number" | "common.report-col.reference-number.short" | "common.report-col.reference-number.info" | "common.report-col.refund-amount" | "common.report-col.refund-amount.short" | "common.report-col.refund-amount.info" | "common.report-col.refunded-tax-amount" | "common.report-col.refunded-tax-amount.short" | "common.report-col.refunded-tax-amount.info" | "common.report-col.revenue-center" | "common.report-col.revenue-center.short" | "common.report-col.revenue-center.info" | "common.report-col.revenue-class" | "common.report-col.revenue-class.short" | "common.report-col.revenue-class.info" | "common.report-col.sales-var-lw" | "common.report-col.sales-var-lw.short" | "common.report-col.sales-var-lw.info" | "common.report-col.sales-var-lw-pct" | "common.report-col.sales-var-lw-pct.short" | "common.report-col.sales-var-lw-pct.info" | "common.report-col.sales-var-ly" | "common.report-col.sales-var-ly.short" | "common.report-col.sales-var-ly.info" | "common.report-col.sales-var-ly-pct" | "common.report-col.sales-var-ly-pct.short" | "common.report-col.sales-var-ly-pct.info" | "common.report-col.sales-mix-by-pct" | "common.report-col.sales-mix-by-pct.short" | "common.report-col.sales-mix-by-pct.info" | "common.report-col.sales-per-guest" | "common.report-col.sales-per-guest.short" | "common.report-col.sales-per-guest.info" | "common.report-col.sales-per-guest-lw" | "common.report-col.sales-per-guest-lw.short" | "common.report-col.sales-per-guest-lw.info" | "common.report-col.sales-per-guest-ly" | "common.report-col.sales-per-guest-ly.short" | "common.report-col.sales-per-guest-ly.info" | "common.report-col.scheduled-shift-end" | "common.report-col.scheduled-shift-end.short" | "common.report-col.scheduled-shift-end.info" | "common.report-col.scheduled-shift-start" | "common.report-col.scheduled-shift-start.short" | "common.report-col.scheduled-shift-start.info" | "common.report-col.settlement-batch-date" | "common.report-col.settlement-batch-date.short" | "common.report-col.settlement-batch-date.info" | "common.report-col.shift-duration-hrs" | "common.report-col.shift-duration-hrs.short" | "common.report-col.shift-duration-hrs.info" | "common.report-col.subtotal" | "common.report-col.subtotal.short" | "common.report-col.subtotal.info" | "common.report-col.tax-collected" | "common.report-col.tax-collected.short" | "common.report-col.tax-collected.info" | "common.report-col.taxes-var-lw" | "common.report-col.taxes-var-lw.short" | "common.report-col.taxes-var-lw.info" | "common.report-col.taxes-var-lw-pct" | "common.report-col.taxes-var-lw-pct.short" | "common.report-col.taxes-var-lw-pct.info" | "common.report-col.taxes-var-ly" | "common.report-col.taxes-var-ly.short" | "common.report-col.taxes-var-ly.info" | "common.report-col.taxes-var-ly-pct" | "common.report-col.taxes-var-ly-pct.short" | "common.report-col.taxes-var-ly-pct.info" | "common.report-col.tax-name" | "common.report-col.tax-name.short" | "common.report-col.tax-name.info" | "common.report-col.tax-rate" | "common.report-col.tax-rate.short" | "common.report-col.tax-rate.info" | "common.report-col.taxable-sales" | "common.report-col.taxable-sales.short" | "common.report-col.taxable-sales.info" | "common.report-col.ticket-closed" | "common.report-col.ticket-closed.short" | "common.report-col.ticket-closed.info" | "common.report-col.ticket-fee" | "common.report-col.ticket-fee.short" | "common.report-col.ticket-fee.info" | "common.report-col.ticket-number" | "common.report-col.ticket-number.short" | "common.report-col.ticket-number.info" | "common.report-col.ticket-open" | "common.report-col.ticket-open.short" | "common.report-col.ticket-open.info" | "common.report-col.ticket-total" | "common.report-col.ticket-total.short" | "common.report-col.ticket-total.info" | "common.report-col.time-open-mins" | "common.report-col.time-open-mins.short" | "common.report-col.time-open-mins.info" | "common.report-col.tip-pct" | "common.report-col.tip-pct.short" | "common.report-col.tip-pct.info" | "common.report-col.tip-reduction" | "common.report-col.tip-reduction.short" | "common.report-col.tip-reduction.info" | "common.report-col.tip-share" | "common.report-col.tip-share.short" | "common.report-col.tip-share.info" | "common.report-col.tip-share-contributed" | "common.report-col.tip-share-contributed.short" | "common.report-col.tip-share-contributed.info" | "common.report-col.tips" | "common.report-col.tips.short" | "common.report-col.tips.info" | "common.report-col.tips-per-hour" | "common.report-col.tips-per-hour.short" | "common.report-col.tips-per-hour.info" | "common.report-col.total-collected" | "common.report-col.total-collected.short" | "common.report-col.total-collected.info" | "common.report-col.total-item-sales" | "common.report-col.total-item-sales.short" | "common.report-col.total-item-sales.info" | "common.report-col.total-modifier-sales" | "common.report-col.total-modifier-sales.short" | "common.report-col.total-modifier-sales.info" | "common.report-col.total-returns" | "common.report-col.total-returns.short" | "common.report-col.total-returns.info" | "common.report-col.total-sales" | "common.report-col.total-sales.short" | "common.report-col.total-sales.info" | "common.report-col.total-tips" | "common.report-col.total-tips.short" | "common.report-col.total-tips.info" | "common.report-col.transaction-date" | "common.report-col.transaction-date.short" | "common.report-col.transaction-date.info" | "common.report-col.transaction-id" | "common.report-col.transaction-id.short" | "common.report-col.transaction-id.info" | "common.report-col.sale-payment-type" | "common.report-col.sale-payment-type.short" | "common.report-col.sale-payment-type.info" | "common.report-col.transaction-type" | "common.report-col.transaction-type.short" | "common.report-col.transaction-type.info" | "common.report-col.untaxed-sales" | "common.report-col.untaxed-sales.short" | "common.report-col.untaxed-sales.info" | "common.report-col.visa" | "common.report-col.visa.short" | "common.report-col.visa.info" | "common.report-col.visa-returns" | "common.report-col.visa-returns.short" | "common.report-col.visa-returns.info" | "common.report-col.payments-count" | "common.report-col.payments-count.short" | "common.report-col.payments-count.info" | "common.report-col.payments-amount" | "common.report-col.payments-amount.short" | "common.report-col.payments-amount.info" | "common.report-col.payments-total" | "common.report-col.payments-total.short" | "common.report-col.payments-total.info" | "common.report-col.refund-void-description" | "common.report-col.refund-void-description.short" | "common.report-col.refund-void-description.info" | "common.report-col.refund-void-count" | "common.report-col.refund-void-count.short" | "common.report-col.refund-void-count.info" | "common.report-col.refund-void-amount" | "common.report-col.refund-void-amount.short" | "common.report-col.refund-void-amount.info" | "common.report-col.refund-void-pct-sales" | "common.report-col.refund-void-pct-sales.short" | "common.report-col.refund-void-pct-sales.info" | "common.report-col.discount-name" | "common.report-col.discount-name.short" | "common.report-col.discount-name.info" | "common.report-col.tickets" | "common.report-col.tickets.short" | "common.report-col.tickets.info" | "common.report-col.guests" | "common.report-col.guests.short" | "common.report-col.guests.info" | "common.report-col.ticket-average" | "common.report-col.ticket-average.short" | "common.report-col.ticket-average.info" | "common.report-col.guest-average" | "common.report-col.guest-average.short" | "common.report-col.guest-average.info" | "common.report-col.net" | "common.report-col.net.short" | "common.report-col.net.info" | "common.report-col.gross-cash-tips" | "common.report-col.gross-cash-tips.short" | "common.report-col.gross-cash-tips.info" | "common.report-col.gross-credit-card-tips" | "common.report-col.gross-credit-card-tips.short" | "common.report-col.gross-credit-card-tips.info" | "common.report-col.type" | "common.report-col.type.short" | "common.report-col.type.info" | "common.report-col.paid-normal-hours" | "common.report-col.paid-normal-hours.short" | "common.report-col.paid-normal-hours.info" | "common.report-col.normal-pay" | "common.report-col.normal-pay.short" | "common.report-col.normal-pay.info" | "common.report-col.overtime-pay" | "common.report-col.overtime-pay.short" | "common.report-col.overtime-pay.info" | "common.report-col.double-overtime-pay" | "common.report-col.double-overtime-pay.short" | "common.report-col.double-overtime-pay.info" | "common.report-col.gratuity" | "common.report-col.gratuity.short" | "common.report-col.gratuity.info" | "common.report-col.tip-paid-status" | "common.report-col.tip-paid-status.short" | "common.report-col.tip-paid-status.info" | "common.report-col.total-payments" | "common.report-col.total-payments.short" | "common.report-col.total-payments.info" | "common.report-col.minimum-wage-adjustment" | "common.report-col.minimum-wage-adjustment.short" | "common.report-col.minimum-wage-adjustment.info" | "common.report-col.total-pay" | "common.report-col.total-pay.short" | "common.report-col.total-pay.info" | "common.report-col.ticket-count-var-lw-pct" | "common.report-col.ticket-count-var-lw-pct.short" | "common.report-col.ticket-count-var-lw-pct.info" | "common.report-col.ticket-count-var-ly-pct" | "common.report-col.ticket-count-var-ly-pct.short" | "common.report-col.ticket-count-var-ly-pct.info" | "common.report-col.table-name" | "common.report-col.table-name.short" | "common.report-col.table-name.info" | "common.report-col.ticket-count-lw" | "common.report-col.ticket-count-lw.short" | "common.report-col.ticket-count-lw.info" | "common.report-col.ticket-count-ly" | "common.report-col.ticket-count-ly.short" | "common.report-col.ticket-count-ly.info" | "common.report-section.revenue-class" | "common.report-section.payments" | "common.report-section.cash" | "common.report-section.taxes" | "common.report-section.refunds-voids" | "common.report-section.discounts" | "common.report-section.sales-by-day-part" | "common.report-section.sales-by-order-type" | "common.report-section.cash-row.cash-payments" | "common.report-section.cash-row.paid-in-outs" | "common.report-section.cash-row.gratuities-paid-out" | "common.report-section.cash-row.cc-tips-paid-out" | "common.report-section.rev-class-footer.tax-total" | "common.report-section.rev-class-footer.gratuities" | "common.report-section.rev-class-footer.balance-payments" | "common.report-section.rev-class-footer.gift-card-sales" | "common.report-section.rev-class-footer.non-sales-revenue" | "common.report-section.rev-class-footer.house-account" | "common.report-section.rev-class-footer.total-accountable" | "scheduled-reports.report-name" | "scheduled-reports.period" | "scheduled-reports.generated-at" | "scheduled-reports.generated-by" | "scheduled-reports.applied-filters" | "components.form.field.group-by" | "components.form.field.second-group-by" | "components.form.field.last-week" | "components.form.field.last-year" | "components.form.field.ordering" | "components.form.field.view-mode" | "components.form.field.show-non-sales" | "components.form.field.show-zero-amounts" | "components.filter.view-mode.summary" | "components.filter.view-mode.detail" | "common.labels.locations" | "common.labels.yes" | "common.labels.no" | "common.labels.unassigned" | "common.labels.none" | "common.sort-direction.ascending" | "common.sort-direction.descending" | "analytics.field.location_id" | "analytics.field.order_type_id" | "analytics.field.revenue_center_id" | "analytics.field.revenue_center_id.all" | "analytics.field.hour_id" | "analytics.field.daypart_id" | "analytics.field.timeslot_id" | "analytics.field.employee_id" | "analytics.field.employee_name" | "analytics.field.payroll_id" | "analytics.field.intraday_period_group" | "analytics.field.item_id" | "analytics.field.department_id" | "analytics.field.revenue_class_id" | "analytics.field.modifier_id" | "table.total" | "table.groups.sales" | "table.groups.net-sales" | "table.groups.taxes" | "table.groups.gross-sales" | "table.groups.guests" | "table.groups.sales-per-guest" | "table.groups.other" | "table.groups.tickets" | "employee-timecard.status.active" | "employee-timecard.status.inactive" | "employee-timecard.job.break-suffix" | null;
13
13
  declare const calculateReportTotals: <T>(data: T[], fieldConfig: Record<string, ColumnPresentationConfig>) => T;
14
14
 
15
- type SalesSummaryField = 'groupById' | 'groupByName' | 'salesAmountNet' | 'salesVarLW' | 'salesVarLY' | 'salesVarLWPct' | 'salesVarLYPct' | 'salesAmountNetLastWeek' | 'salesAmountNetLastYear' | 'salesAmountGross' | 'salesAmountGrossLastWeek' | 'salesAmountGrossLastYear' | 'grossVarLW' | 'grossVarLY' | 'grossVarLWPct' | 'grossVarLYPct' | 'taxesAmount' | 'taxesAmountLastWeek' | 'taxesAmountLastYear' | 'taxesVarLW' | 'taxesVarLY' | 'taxesVarLWPct' | 'taxesVarLYPct' | 'ticketsCount' | 'ticketsCountLastWeek' | 'ticketsCountLastYear' | 'guestsCount' | 'guestsVarLW' | 'guestsVarLY' | 'guestsVarLWPct' | 'guestsVarLYPct' | 'guestsCountLastWeek' | 'guestsCountLastYear' | 'salesPerGuestTY' | 'salesPerGuestLW' | 'salesPerGuestLY';
15
+ type SalesSummaryField = 'groupById' | 'groupByName' | 'salesAmountNet' | 'salesVarLW' | 'salesVarLY' | 'salesVarLWPct' | 'salesVarLYPct' | 'salesAmountNetLastWeek' | 'salesAmountNetLastYear' | 'salesAmountGross' | 'salesAmountGrossLastWeek' | 'salesAmountGrossLastYear' | 'grossVarLW' | 'grossVarLY' | 'grossVarLWPct' | 'grossVarLYPct' | 'taxesAmount' | 'taxesAmountLastWeek' | 'taxesAmountLastYear' | 'taxesVarLW' | 'taxesVarLY' | 'taxesVarLWPct' | 'taxesVarLYPct' | 'ticketsCount' | 'ticketsCountLastWeek' | 'ticketsCountLastYear' | 'guestsCount' | 'guestsVarLW' | 'guestsVarLY' | 'guestsVarLWPct' | 'guestsVarLYPct' | 'guestsCountLastWeek' | 'guestsCountLastYear' | 'salesPerGuestTY' | 'salesPerGuestLW' | 'salesPerGuestLY' | 'ticketsVarLWPct' | 'ticketsVarLYPct' | 'ticketAvgNetTY';
16
+ type SalesSummaryColumnGroupId = 'sales' | 'grossSales' | 'taxes' | 'guests' | 'tickets' | 'other';
16
17
  declare const salesSummaryConfig: {
17
18
  readonly fields: Record<SalesSummaryField, ColumnPresentationConfig<SalesSummaryField>>;
18
19
  readonly availableColumns: SalesSummaryField[];
19
20
  readonly defaultVisibleColumns: SalesSummaryField[];
20
21
  readonly chartFields: SalesSummaryField[];
21
- readonly columnGroups: ColumnGroupConfig<SalesSummaryField>[];
22
+ readonly columnGroups: ColumnGroupConfig<SalesSummaryField, SalesSummaryColumnGroupId>[];
23
+ readonly defaultColumnGroups: ["sales", "grossSales", "taxes", "guests", "tickets"];
22
24
  readonly hasFooter: true;
23
25
  };
24
26
 
@@ -325,4 +327,4 @@ declare const getReportFormattingLocaleOptions: (locations: {
325
327
  }[]) => LocaleOption[];
326
328
  declare const formatFieldValue: (value: unknown, type: FieldType, localeOptions: LocaleOption, fullRecord: Record<string, unknown> | null | undefined, fieldConfig: ColumnPresentationConfig | undefined, timezone: string, translationLocale: string) => string;
327
329
 
328
- export { ColumnAlignment, ColumnGroupConfig, ColumnPresentationConfig, DAILY_SALES_CASH_ROW_LABELS, DAILY_SALES_REV_CLASS_FOOTER_LABELS, type DailySalesCacheField, type DailySalesDiscountsField, type DailySalesField, type DailySalesPaymentsField, type DailySalesRefundsVoidsField, type DailySalesTaxesField, type DailySalesTrendsField, type EmployeeTimecardField, type EmployeeTipField, FieldType, type FormatDateOptions, type FormatMoneyOptions, type FormatNumberOptions, type FormatTimeOptions, type ItemTaxField, type LocaleOption, MessageKey, type ModifierMixField, type PayrollField, type ProductMixField, REPORT_SECTION_CONFIGS, ReportColumnKey, ReportConfig, type ReportSectionColumnDef, type ReportSectionDefinition, ReportType, type SalesByItemDetailField, type SalesSummaryField, type SupportedLocale, TENDER_TYPE, type TicketLiveField, type TicketSummaryField, type TimeFormat, type TipCashoutReconciliationField, buildDailySalesCashPayments, buildDailySalesRevClassFooter, buildPaymentsSectionData, calculateReportTotals, dailySalesCacheConfig, dailySalesConfig, dailySalesDiscountsConfig, dailySalesPaymentsConfig, dailySalesRefundsVoidsConfig, dailySalesTaxesConfig, dailySalesTrendsDayPartConfig, dailySalesTrendsOrderTypeConfig, employeeTimecardConfig, employeeTipConfig, formatDate, formatFieldValue, formatFixedNumber, formatInteger, formatMoney, formatMoneyWithoutSymbol, formatPercent, formatString, formatTime, getColumnAlignment, getDateToFormat, getFooterValue, getNumberToFormat, getReportFormattingLocaleOptions, isNumericType, itemTaxConfig, modifierMixConfig, payrollConfig, productMixConfig, resolveTranslate, salesByItemDetailConfig, salesSummaryConfig, ticketLiveConfig, ticketSummaryConfig, tipCashoutReconciliationConfig };
330
+ export { ColumnAlignment, ColumnGroupConfig, ColumnPresentationConfig, DAILY_SALES_CASH_ROW_LABELS, DAILY_SALES_REV_CLASS_FOOTER_LABELS, type DailySalesCacheField, type DailySalesDiscountsField, type DailySalesField, type DailySalesPaymentsField, type DailySalesRefundsVoidsField, type DailySalesTaxesField, type DailySalesTrendsField, type EmployeeTimecardField, type EmployeeTipField, FieldType, type FormatDateOptions, type FormatMoneyOptions, type FormatNumberOptions, type FormatTimeOptions, type ItemTaxField, type LocaleOption, MessageKey, type ModifierMixField, type PayrollField, type ProductMixField, REPORT_SECTION_CONFIGS, ReportColumnKey, ReportConfig, type ReportSectionColumnDef, type ReportSectionDefinition, ReportType, type SalesByItemDetailField, type SalesSummaryColumnGroupId, type SalesSummaryField, type SupportedLocale, TENDER_TYPE, type TicketLiveField, type TicketSummaryField, type TimeFormat, type TipCashoutReconciliationField, buildDailySalesCashPayments, buildDailySalesRevClassFooter, buildPaymentsSectionData, calculateReportTotals, dailySalesCacheConfig, dailySalesConfig, dailySalesDiscountsConfig, dailySalesPaymentsConfig, dailySalesRefundsVoidsConfig, dailySalesTaxesConfig, dailySalesTrendsDayPartConfig, dailySalesTrendsOrderTypeConfig, employeeTimecardConfig, employeeTipConfig, formatDate, formatFieldValue, formatFixedNumber, formatInteger, formatMoney, formatMoneyWithoutSymbol, formatPercent, formatString, formatTime, getColumnAlignment, getDateToFormat, getFooterValue, getNumberToFormat, getReportFormattingLocaleOptions, isNumericType, itemTaxConfig, modifierMixConfig, payrollConfig, productMixConfig, resolveTranslate, salesByItemDetailConfig, salesSummaryConfig, ticketLiveConfig, ticketSummaryConfig, tipCashoutReconciliationConfig };
package/dist/index.js CHANGED
@@ -40,7 +40,7 @@ import {
40
40
  ticketLiveConfig,
41
41
  ticketSummaryConfig,
42
42
  tipCashoutReconciliationConfig
43
- } from "./chunk-KLJKY4F3.js";
43
+ } from "./chunk-Z72HAUQJ.js";
44
44
 
45
45
  // src/utils/alignment.ts
46
46
  function getColumnAlignment(type) {
@@ -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' | 'grossSalesVarLw' | 'grossSalesVarLy' | 'grossSalesVarLwPct' | 'grossSalesVarLyPct' | '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' | 'taxesVarLw' | 'taxesVarLy' | 'taxesVarLwPct' | 'taxesVarLyPct' | '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' | 'employeeStatus' | 'lastModified' | 'discountCount' | 'itemQuantity' | 'modifierQuantityComp' | 'itemQuantityComp' | 'attachRateComp' | 'totalModifierSalesVar' | 'totalModifierSalesVarPct' | 'modifierQuantityVar' | 'modifierQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct' | 'totalModifierSalesComp' | 'paidNormalHours' | 'normalPay' | 'overtimePay' | 'doubleOvertimePay' | 'gratuity' | 'tipPaidStatus' | 'totalPayments' | 'minimumWageAdjustment' | 'tableName' | 'totalPay';
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' | 'grossSalesVarLw' | 'grossSalesVarLy' | 'grossSalesVarLwPct' | 'grossSalesVarLyPct' | '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' | 'taxesVarLw' | 'taxesVarLy' | 'taxesVarLwPct' | 'taxesVarLyPct' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tipShareContributed' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionId' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'type' | 'status' | 'employeeStatus' | 'lastModified' | 'discountCount' | 'itemQuantity' | 'modifierQuantityComp' | 'itemQuantityComp' | 'attachRateComp' | 'totalModifierSalesVar' | 'totalModifierSalesVarPct' | 'modifierQuantityVar' | 'modifierQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct' | 'totalModifierSalesComp' | 'paidNormalHours' | 'normalPay' | 'overtimePay' | 'doubleOvertimePay' | 'gratuity' | 'tipPaidStatus' | 'totalPayments' | 'minimumWageAdjustment' | 'tableName' | 'totalPay' | 'ticketCountLwPct' | 'ticketCountLyPct' | 'ticketCountVarLy' | 'ticketCountVarLw';
2
2
  declare const COLUMN_REGISTRY: {
3
3
  readonly fifteenMinInterval: {
4
4
  readonly titleKey: "common.report-col.fifteen-min-interval";
@@ -690,6 +690,11 @@ declare const COLUMN_REGISTRY: {
690
690
  readonly shortTitleKey: "common.report-col.transaction-date.short";
691
691
  readonly infoTextKey: "common.report-col.transaction-date.info";
692
692
  };
693
+ readonly transactionId: {
694
+ readonly titleKey: "common.report-col.transaction-id";
695
+ readonly shortTitleKey: "common.report-col.transaction-id.short";
696
+ readonly infoTextKey: "common.report-col.transaction-id.info";
697
+ };
693
698
  readonly transactionType: {
694
699
  readonly titleKey: "common.report-col.transaction-type";
695
700
  readonly shortTitleKey: "common.report-col.transaction-type.short";
@@ -830,6 +835,26 @@ declare const COLUMN_REGISTRY: {
830
835
  readonly shortTitleKey: "common.report-col.table-name.short";
831
836
  readonly infoTextKey: "common.report-col.table-name.info";
832
837
  };
838
+ readonly ticketCountLwPct: {
839
+ readonly titleKey: "common.report-col.ticket-count-var-lw-pct";
840
+ readonly shortTitleKey: "common.report-col.ticket-count-var-lw-pct.short";
841
+ readonly infoTextKey: "common.report-col.ticket-count-var-lw-pct.info";
842
+ };
843
+ readonly ticketCountLyPct: {
844
+ readonly titleKey: "common.report-col.ticket-count-var-ly-pct";
845
+ readonly shortTitleKey: "common.report-col.ticket-count-var-ly-pct.short";
846
+ readonly infoTextKey: "common.report-col.ticket-count-var-ly-pct.info";
847
+ };
848
+ readonly ticketCountVarLw: {
849
+ readonly titleKey: "common.report-col.ticket-count-lw";
850
+ readonly shortTitleKey: "common.report-col.ticket-count-lw.short";
851
+ readonly infoTextKey: "common.report-col.ticket-count-lw.info";
852
+ };
853
+ readonly ticketCountVarLy: {
854
+ readonly titleKey: "common.report-col.ticket-count-ly";
855
+ readonly shortTitleKey: "common.report-col.ticket-count-ly.short";
856
+ readonly infoTextKey: "common.report-col.ticket-count-ly.info";
857
+ };
833
858
  };
834
859
  type ColumnMetadata = (typeof COLUMN_REGISTRY)[ReportColumnKey];
835
860
  type ColumnMessageKey = ColumnMetadata['titleKey'] | ColumnMetadata['shortTitleKey'] | Extract<ColumnMetadata, {
@@ -1244,6 +1269,9 @@ declare const enUS: {
1244
1269
  readonly 'common.report-col.transaction-date': "Transaction Date";
1245
1270
  readonly 'common.report-col.transaction-date.short': "Txn Date";
1246
1271
  readonly 'common.report-col.transaction-date.info': "The date the transaction took place";
1272
+ readonly 'common.report-col.transaction-id': "Transaction ID";
1273
+ readonly 'common.report-col.transaction-id.short': "Txn ID";
1274
+ readonly 'common.report-col.transaction-id.info': "The ID of the transaction";
1247
1275
  readonly 'common.report-col.sale-payment-type': "Payment Type";
1248
1276
  readonly 'common.report-col.sale-payment-type.short': "Payment Type";
1249
1277
  readonly 'common.report-col.sale-payment-type.info': "The payment method used to close the ticket (e.g. Credit, Other)";
@@ -1334,9 +1362,21 @@ declare const enUS: {
1334
1362
  readonly 'common.report-col.total-pay': "Total Pay";
1335
1363
  readonly 'common.report-col.total-pay.short': "Total Pay";
1336
1364
  readonly 'common.report-col.total-pay.info': "Total compensation including wages, overtime, and adjustments";
1365
+ readonly 'common.report-col.ticket-count-var-lw-pct': "Ticket count ± LW %";
1366
+ readonly 'common.report-col.ticket-count-var-lw-pct.short': "± LW %";
1367
+ readonly 'common.report-col.ticket-count-var-lw-pct.info': "Percentage change in ticket count compared to last week";
1368
+ readonly 'common.report-col.ticket-count-var-ly-pct': "Ticket count ± LY %";
1369
+ readonly 'common.report-col.ticket-count-var-ly-pct.short': "± LY %";
1370
+ readonly 'common.report-col.ticket-count-var-ly-pct.info': "Percentage change in ticket count compared to last year";
1337
1371
  readonly 'common.report-col.table-name': "Table Name";
1338
1372
  readonly 'common.report-col.table-name.short': "Table Name";
1339
1373
  readonly 'common.report-col.table-name.info': "Table Name if assigned";
1374
+ readonly 'common.report-col.ticket-count-lw': "Ticket count ± LW";
1375
+ readonly 'common.report-col.ticket-count-lw.short': "± LW";
1376
+ readonly 'common.report-col.ticket-count-lw.info': "Ticket count compared to last week";
1377
+ readonly 'common.report-col.ticket-count-ly': "Ticket count ± LY";
1378
+ readonly 'common.report-col.ticket-count-ly.short': "± LY";
1379
+ readonly 'common.report-col.ticket-count-ly.info': "Ticket count compared to last year";
1340
1380
  readonly 'common.report-section.revenue-class': "Sales by Revenue Class";
1341
1381
  readonly 'common.report-section.payments': "Payments";
1342
1382
  readonly 'common.report-section.cash': "Expected Closeout Cash";
@@ -1400,6 +1440,8 @@ declare const enUS: {
1400
1440
  readonly 'table.groups.gross-sales': "Gross Sales";
1401
1441
  readonly 'table.groups.guests': "Guests";
1402
1442
  readonly 'table.groups.sales-per-guest': "Sales/Guest";
1443
+ readonly 'table.groups.other': "Other";
1444
+ readonly 'table.groups.tickets': "Tickets";
1403
1445
  readonly 'employee-timecard.status.active': "Active";
1404
1446
  readonly 'employee-timecard.status.inactive': "Inactive";
1405
1447
  readonly 'employee-timecard.job.break-suffix': " * break";
@@ -1451,18 +1493,20 @@ type ColumnPresentationConfig<TField = string> = (BaseColumnPresentationConfig<T
1451
1493
  customConfiguration: CustomConfiguration;
1452
1494
  conditionalConfiguration?: never;
1453
1495
  });
1454
- interface ColumnGroupConfig<TField extends string = string> {
1455
- id: string;
1496
+ interface ColumnGroupConfig<TField extends string = string, TGroupId extends string = string> {
1497
+ id: TGroupId;
1456
1498
  headerTranslationKey: MessageKey;
1457
1499
  baseFields: TField[];
1458
1500
  lastWeekFields?: TField[];
1459
1501
  lastYearFields?: TField[];
1460
1502
  }
1461
- interface ReportConfig<TField extends string = string> {
1503
+ interface ReportConfig<TField extends string = string, TGroupId extends string = string> {
1462
1504
  fields: Record<TField, ColumnPresentationConfig<TField>>;
1463
1505
  availableColumns: TField[];
1464
1506
  defaultVisibleColumns: TField[];
1465
- columnGroups?: ColumnGroupConfig<TField>[];
1507
+ columnGroups?: ColumnGroupConfig<TField, TGroupId>[];
1508
+ /** IDs of `columnGroups` that are enabled by default. */
1509
+ defaultColumnGroups?: TGroupId[];
1466
1510
  chartFields?: TField[];
1467
1511
  hasFooter: boolean;
1468
1512
  dataAccessKey?: string;
@@ -1488,7 +1532,7 @@ declare const Report: {
1488
1532
  readonly DAILY_SALES_LIVE: "daily-sales-live";
1489
1533
  };
1490
1534
  type ReportType = (typeof Report)[keyof typeof Report];
1491
- declare const getReportConfig: (reportType: ReportType) => ReportConfig<string> | ReportConfig<string>[] | null;
1535
+ declare const getReportConfig: (reportType: ReportType) => ReportConfig<string, string> | ReportConfig<string, string>[] | null;
1492
1536
  declare const getFixedColumns: <TField extends string = string>(config: ReportConfig<TField>, parameters?: {
1493
1537
  secondGroupBy?: AnalyticsField;
1494
1538
  }) => TField[];
@@ -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' | 'grossSalesVarLw' | 'grossSalesVarLy' | 'grossSalesVarLwPct' | 'grossSalesVarLyPct' | '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' | 'taxesVarLw' | 'taxesVarLy' | 'taxesVarLwPct' | 'taxesVarLyPct' | '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' | 'employeeStatus' | 'lastModified' | 'discountCount' | 'itemQuantity' | 'modifierQuantityComp' | 'itemQuantityComp' | 'attachRateComp' | 'totalModifierSalesVar' | 'totalModifierSalesVarPct' | 'modifierQuantityVar' | 'modifierQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct' | 'totalModifierSalesComp' | 'paidNormalHours' | 'normalPay' | 'overtimePay' | 'doubleOvertimePay' | 'gratuity' | 'tipPaidStatus' | 'totalPayments' | 'minimumWageAdjustment' | 'tableName' | 'totalPay';
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' | 'grossSalesVarLw' | 'grossSalesVarLy' | 'grossSalesVarLwPct' | 'grossSalesVarLyPct' | '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' | 'taxesVarLw' | 'taxesVarLy' | 'taxesVarLwPct' | 'taxesVarLyPct' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tipShareContributed' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionId' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'type' | 'status' | 'employeeStatus' | 'lastModified' | 'discountCount' | 'itemQuantity' | 'modifierQuantityComp' | 'itemQuantityComp' | 'attachRateComp' | 'totalModifierSalesVar' | 'totalModifierSalesVarPct' | 'modifierQuantityVar' | 'modifierQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct' | 'totalModifierSalesComp' | 'paidNormalHours' | 'normalPay' | 'overtimePay' | 'doubleOvertimePay' | 'gratuity' | 'tipPaidStatus' | 'totalPayments' | 'minimumWageAdjustment' | 'tableName' | 'totalPay' | 'ticketCountLwPct' | 'ticketCountLyPct' | 'ticketCountVarLy' | 'ticketCountVarLw';
2
2
  declare const COLUMN_REGISTRY: {
3
3
  readonly fifteenMinInterval: {
4
4
  readonly titleKey: "common.report-col.fifteen-min-interval";
@@ -690,6 +690,11 @@ declare const COLUMN_REGISTRY: {
690
690
  readonly shortTitleKey: "common.report-col.transaction-date.short";
691
691
  readonly infoTextKey: "common.report-col.transaction-date.info";
692
692
  };
693
+ readonly transactionId: {
694
+ readonly titleKey: "common.report-col.transaction-id";
695
+ readonly shortTitleKey: "common.report-col.transaction-id.short";
696
+ readonly infoTextKey: "common.report-col.transaction-id.info";
697
+ };
693
698
  readonly transactionType: {
694
699
  readonly titleKey: "common.report-col.transaction-type";
695
700
  readonly shortTitleKey: "common.report-col.transaction-type.short";
@@ -830,6 +835,26 @@ declare const COLUMN_REGISTRY: {
830
835
  readonly shortTitleKey: "common.report-col.table-name.short";
831
836
  readonly infoTextKey: "common.report-col.table-name.info";
832
837
  };
838
+ readonly ticketCountLwPct: {
839
+ readonly titleKey: "common.report-col.ticket-count-var-lw-pct";
840
+ readonly shortTitleKey: "common.report-col.ticket-count-var-lw-pct.short";
841
+ readonly infoTextKey: "common.report-col.ticket-count-var-lw-pct.info";
842
+ };
843
+ readonly ticketCountLyPct: {
844
+ readonly titleKey: "common.report-col.ticket-count-var-ly-pct";
845
+ readonly shortTitleKey: "common.report-col.ticket-count-var-ly-pct.short";
846
+ readonly infoTextKey: "common.report-col.ticket-count-var-ly-pct.info";
847
+ };
848
+ readonly ticketCountVarLw: {
849
+ readonly titleKey: "common.report-col.ticket-count-lw";
850
+ readonly shortTitleKey: "common.report-col.ticket-count-lw.short";
851
+ readonly infoTextKey: "common.report-col.ticket-count-lw.info";
852
+ };
853
+ readonly ticketCountVarLy: {
854
+ readonly titleKey: "common.report-col.ticket-count-ly";
855
+ readonly shortTitleKey: "common.report-col.ticket-count-ly.short";
856
+ readonly infoTextKey: "common.report-col.ticket-count-ly.info";
857
+ };
833
858
  };
834
859
  type ColumnMetadata = (typeof COLUMN_REGISTRY)[ReportColumnKey];
835
860
  type ColumnMessageKey = ColumnMetadata['titleKey'] | ColumnMetadata['shortTitleKey'] | Extract<ColumnMetadata, {
@@ -1244,6 +1269,9 @@ declare const enUS: {
1244
1269
  readonly 'common.report-col.transaction-date': "Transaction Date";
1245
1270
  readonly 'common.report-col.transaction-date.short': "Txn Date";
1246
1271
  readonly 'common.report-col.transaction-date.info': "The date the transaction took place";
1272
+ readonly 'common.report-col.transaction-id': "Transaction ID";
1273
+ readonly 'common.report-col.transaction-id.short': "Txn ID";
1274
+ readonly 'common.report-col.transaction-id.info': "The ID of the transaction";
1247
1275
  readonly 'common.report-col.sale-payment-type': "Payment Type";
1248
1276
  readonly 'common.report-col.sale-payment-type.short': "Payment Type";
1249
1277
  readonly 'common.report-col.sale-payment-type.info': "The payment method used to close the ticket (e.g. Credit, Other)";
@@ -1334,9 +1362,21 @@ declare const enUS: {
1334
1362
  readonly 'common.report-col.total-pay': "Total Pay";
1335
1363
  readonly 'common.report-col.total-pay.short': "Total Pay";
1336
1364
  readonly 'common.report-col.total-pay.info': "Total compensation including wages, overtime, and adjustments";
1365
+ readonly 'common.report-col.ticket-count-var-lw-pct': "Ticket count ± LW %";
1366
+ readonly 'common.report-col.ticket-count-var-lw-pct.short': "± LW %";
1367
+ readonly 'common.report-col.ticket-count-var-lw-pct.info': "Percentage change in ticket count compared to last week";
1368
+ readonly 'common.report-col.ticket-count-var-ly-pct': "Ticket count ± LY %";
1369
+ readonly 'common.report-col.ticket-count-var-ly-pct.short': "± LY %";
1370
+ readonly 'common.report-col.ticket-count-var-ly-pct.info': "Percentage change in ticket count compared to last year";
1337
1371
  readonly 'common.report-col.table-name': "Table Name";
1338
1372
  readonly 'common.report-col.table-name.short': "Table Name";
1339
1373
  readonly 'common.report-col.table-name.info': "Table Name if assigned";
1374
+ readonly 'common.report-col.ticket-count-lw': "Ticket count ± LW";
1375
+ readonly 'common.report-col.ticket-count-lw.short': "± LW";
1376
+ readonly 'common.report-col.ticket-count-lw.info': "Ticket count compared to last week";
1377
+ readonly 'common.report-col.ticket-count-ly': "Ticket count ± LY";
1378
+ readonly 'common.report-col.ticket-count-ly.short': "± LY";
1379
+ readonly 'common.report-col.ticket-count-ly.info': "Ticket count compared to last year";
1340
1380
  readonly 'common.report-section.revenue-class': "Sales by Revenue Class";
1341
1381
  readonly 'common.report-section.payments': "Payments";
1342
1382
  readonly 'common.report-section.cash': "Expected Closeout Cash";
@@ -1400,6 +1440,8 @@ declare const enUS: {
1400
1440
  readonly 'table.groups.gross-sales': "Gross Sales";
1401
1441
  readonly 'table.groups.guests': "Guests";
1402
1442
  readonly 'table.groups.sales-per-guest': "Sales/Guest";
1443
+ readonly 'table.groups.other': "Other";
1444
+ readonly 'table.groups.tickets': "Tickets";
1403
1445
  readonly 'employee-timecard.status.active': "Active";
1404
1446
  readonly 'employee-timecard.status.inactive': "Inactive";
1405
1447
  readonly 'employee-timecard.job.break-suffix': " * break";
@@ -1451,18 +1493,20 @@ type ColumnPresentationConfig<TField = string> = (BaseColumnPresentationConfig<T
1451
1493
  customConfiguration: CustomConfiguration;
1452
1494
  conditionalConfiguration?: never;
1453
1495
  });
1454
- interface ColumnGroupConfig<TField extends string = string> {
1455
- id: string;
1496
+ interface ColumnGroupConfig<TField extends string = string, TGroupId extends string = string> {
1497
+ id: TGroupId;
1456
1498
  headerTranslationKey: MessageKey;
1457
1499
  baseFields: TField[];
1458
1500
  lastWeekFields?: TField[];
1459
1501
  lastYearFields?: TField[];
1460
1502
  }
1461
- interface ReportConfig<TField extends string = string> {
1503
+ interface ReportConfig<TField extends string = string, TGroupId extends string = string> {
1462
1504
  fields: Record<TField, ColumnPresentationConfig<TField>>;
1463
1505
  availableColumns: TField[];
1464
1506
  defaultVisibleColumns: TField[];
1465
- columnGroups?: ColumnGroupConfig<TField>[];
1507
+ columnGroups?: ColumnGroupConfig<TField, TGroupId>[];
1508
+ /** IDs of `columnGroups` that are enabled by default. */
1509
+ defaultColumnGroups?: TGroupId[];
1466
1510
  chartFields?: TField[];
1467
1511
  hasFooter: boolean;
1468
1512
  dataAccessKey?: string;
@@ -1488,7 +1532,7 @@ declare const Report: {
1488
1532
  readonly DAILY_SALES_LIVE: "daily-sales-live";
1489
1533
  };
1490
1534
  type ReportType = (typeof Report)[keyof typeof Report];
1491
- declare const getReportConfig: (reportType: ReportType) => ReportConfig<string> | ReportConfig<string>[] | null;
1535
+ declare const getReportConfig: (reportType: ReportType) => ReportConfig<string, string> | ReportConfig<string, string>[] | null;
1492
1536
  declare const getFixedColumns: <TField extends string = string>(config: ReportConfig<TField>, parameters?: {
1493
1537
  secondGroupBy?: AnalyticsField;
1494
1538
  }) => TField[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harbortouch/skytab-analytics-report-utils",
3
- "version": "0.42.1",
3
+ "version": "0.43.0",
4
4
  "description": "Centralized report column presentation configuration for SkyTab Analytics",
5
5
  "engines": {
6
6
  "node": ">=22.6.0",