@harbortouch/skytab-analytics-report-utils 0.18.0 → 0.20.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.
@@ -0,0 +1,3503 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/exporters/exportBuilder.ts
21
+ var exportBuilder_exports = {};
22
+ __export(exportBuilder_exports, {
23
+ ExportBuilder: () => ExportBuilder
24
+ });
25
+ module.exports = __toCommonJS(exportBuilder_exports);
26
+
27
+ // src/formatting.ts
28
+ var dateFormatterCache = /* @__PURE__ */ new Map();
29
+ var timeFormatterCache = /* @__PURE__ */ new Map();
30
+ var moneyFormatterCache = /* @__PURE__ */ new Map();
31
+ var getDateFormatter = (locale, timeZone) => {
32
+ const key = `${locale}-${timeZone}`;
33
+ let fmt = dateFormatterCache.get(key);
34
+ if (!fmt) {
35
+ fmt = new Intl.DateTimeFormat(locale, { dateStyle: "short", timeZone });
36
+ dateFormatterCache.set(key, fmt);
37
+ }
38
+ return fmt;
39
+ };
40
+ var getTimeFormatter = (locale, timeZone, format2) => {
41
+ const key = `${locale}-${timeZone}-${format2}`;
42
+ let fmt = timeFormatterCache.get(key);
43
+ if (!fmt) {
44
+ if (format2 === "00:00") {
45
+ fmt = new Intl.DateTimeFormat(locale, { hour: "2-digit", minute: "2-digit", timeZone });
46
+ } else if (format2 === "00:00-24H") {
47
+ fmt = new Intl.DateTimeFormat(locale, {
48
+ hour: "2-digit",
49
+ minute: "2-digit",
50
+ hour12: false,
51
+ hourCycle: "h23",
52
+ timeZone
53
+ });
54
+ } else {
55
+ fmt = new Intl.DateTimeFormat(locale, { hour: "2-digit", minute: "2-digit", second: "2-digit", timeZone });
56
+ }
57
+ timeFormatterCache.set(key, fmt);
58
+ }
59
+ return fmt;
60
+ };
61
+ var getMoneyFormatter = (locale, currency, decimals) => {
62
+ const key = `${locale}-${currency}-${decimals}`;
63
+ let fmt = moneyFormatterCache.get(key);
64
+ if (!fmt) {
65
+ fmt = new Intl.NumberFormat(locale, {
66
+ style: "currency",
67
+ currency,
68
+ minimumFractionDigits: decimals,
69
+ maximumFractionDigits: decimals
70
+ });
71
+ moneyFormatterCache.set(key, fmt);
72
+ }
73
+ return fmt;
74
+ };
75
+ var formatDate = (date, options = {}) => {
76
+ const { locale = "en-US", timeZone = "UTC" } = options;
77
+ return getDateFormatter(locale, timeZone).format(date);
78
+ };
79
+ var formatTime = (date, options) => {
80
+ const { locale = "en-US", timeZone = "UTC", format: format2 } = options;
81
+ const d = new Date(date);
82
+ return getTimeFormatter(locale, timeZone, format2).format(d);
83
+ };
84
+ var formatMoney = (amount, options = {}) => {
85
+ const { locale = "en-US", currency = "USD", decimals = 2 } = options;
86
+ return getMoneyFormatter(locale, currency, decimals).format(amount);
87
+ };
88
+ var formatPercent = (value, decimals = 2) => `${value.toFixed(decimals)}%`;
89
+ var formatFixedNumber = (value, decimals = 2) => value.toFixed(decimals);
90
+ var formatString = (value) => {
91
+ return value == null ? "" : typeof value === "string" ? value : typeof value === "number" || typeof value === "boolean" ? String(value) : "";
92
+ };
93
+ var getNumberToFormat = (value) => typeof value === "number" ? value : 0;
94
+ var getDateToFormat = (value) => {
95
+ if (value instanceof Date) {
96
+ return isNaN(value.getTime()) ? null : value;
97
+ }
98
+ if (typeof value === "string" || typeof value === "number") {
99
+ const d = new Date(value);
100
+ return isNaN(d.getTime()) ? null : d;
101
+ }
102
+ return null;
103
+ };
104
+ var getReportFormattingLocaleOptions = (locations) => {
105
+ if (locations.length === 0) {
106
+ return [{ currency: "USD", locale: "en-US" }];
107
+ }
108
+ return Array.from(
109
+ new Map(
110
+ locations.map((loc) => ({
111
+ currency: loc.currency,
112
+ locale: `${loc.language ?? "en"}-${loc.countryCode}`
113
+ })).map((item) => [`${item.currency}-${item.locale}`, item])
114
+ ).values()
115
+ );
116
+ };
117
+ var DEFAULT_FIELD_CONFIG = { type: "string" };
118
+ var formatFieldValue = (value, type, localeOptions, fullRecord, fieldConfig = DEFAULT_FIELD_CONFIG) => {
119
+ const { currency, locale } = localeOptions;
120
+ switch (type) {
121
+ case "conditional": {
122
+ if (!fullRecord) {
123
+ return formatString(value);
124
+ }
125
+ const conditionalConfig = fieldConfig.conditionalConfiguration;
126
+ const configType = conditionalConfig.conditionalFormat(fullRecord[conditionalConfig.conditionalField]);
127
+ return formatFieldValue(value, configType, localeOptions, fullRecord, fieldConfig);
128
+ }
129
+ case "string":
130
+ return formatString(value);
131
+ case "money":
132
+ return formatMoney(getNumberToFormat(value), { currency, locale });
133
+ case "percent":
134
+ return formatPercent(getNumberToFormat(value) * 100);
135
+ case "fixedNumber":
136
+ return formatFixedNumber(getNumberToFormat(value));
137
+ case "date": {
138
+ const d = getDateToFormat(value);
139
+ return d ? formatDate(d, { locale }) : "";
140
+ }
141
+ case "time": {
142
+ const d = getDateToFormat(value);
143
+ return d ? formatTime(d, { locale, format: "00:00:00" }) : "";
144
+ }
145
+ case "number":
146
+ default:
147
+ return String(getNumberToFormat(value));
148
+ }
149
+ };
150
+
151
+ // src/reports/salesByItemDetail.ts
152
+ var FIELDS = {
153
+ businessDate: { type: "date", columnKey: "date", filteringAvailable: false },
154
+ ticketClosedAt: { type: "string", columnKey: "ticketClosed", filteringAvailable: false },
155
+ hourId: { type: "number", columnKey: "hour", filteringAvailable: false },
156
+ daypartName: { type: "string", columnKey: "daypart", filteringAvailable: false },
157
+ locationId: { type: "number", columnKey: "locationId", filteringAvailable: false },
158
+ locationName: { type: "string", columnKey: "locationName", filteringAvailable: false },
159
+ departmentName: { type: "string", columnKey: "department", filteringAvailable: false },
160
+ itemName: { type: "string", columnKey: "itemName", filteringAvailable: false },
161
+ revenueCenterName: { type: "string", columnKey: "revenueCenter", filteringAvailable: false },
162
+ revenueClassName: { type: "string", columnKey: "revenueClass", filteringAvailable: false },
163
+ salesAmountGross: { type: "money", columnKey: "grossSales" },
164
+ itemsQuantity: { type: "number", columnKey: "quantity" },
165
+ transactionId: { type: "string", columnKey: "ticketNumber", filteringAvailable: false },
166
+ guestsCount: { type: "number", columnKey: "guestCount" },
167
+ employeeName: { type: "string", columnKey: "employeeName", filteringAvailable: false },
168
+ orderTypeName: { type: "string", columnKey: "orderType", filteringAvailable: false },
169
+ salesType: { type: "string", columnKey: "salePaymentType", filteringAvailable: false },
170
+ itemPrice: { type: "money", columnKey: "itemPrice" }
171
+ };
172
+ var SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS = [
173
+ "businessDate",
174
+ "ticketClosedAt",
175
+ "hourId",
176
+ "daypartName",
177
+ "locationId",
178
+ "locationName",
179
+ "departmentName",
180
+ "itemName",
181
+ "revenueCenterName",
182
+ "revenueClassName",
183
+ "salesAmountGross",
184
+ "itemsQuantity",
185
+ "transactionId",
186
+ "guestsCount",
187
+ "employeeName",
188
+ "orderTypeName",
189
+ "salesType",
190
+ "itemPrice"
191
+ ];
192
+ var salesByItemDetailConfig = {
193
+ fields: FIELDS,
194
+ availableColumns: SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
195
+ defaultVisibleColumns: SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS,
196
+ hasFooter: false
197
+ };
198
+
199
+ // src/reports/constants.ts
200
+ var FIRST_COLUMN_WIDTH = 240;
201
+
202
+ // src/reports/salesSummary.ts
203
+ var FIELDS2 = {
204
+ groupById: { type: "number" },
205
+ groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
206
+ salesAmountNet: { type: "money", columnKey: "netSales" },
207
+ salesVarLW: { type: "money", columnKey: "salesVarLw" },
208
+ salesVarLY: { type: "money", columnKey: "salesVarLy" },
209
+ salesVarLWPct: {
210
+ type: "percent",
211
+ columnKey: "salesVarLwPct",
212
+ footerCalculation: {
213
+ type: "variancePercent",
214
+ numeratorField: "salesVarLW",
215
+ denominatorField: "salesAmountNet"
216
+ }
217
+ },
218
+ salesVarLYPct: {
219
+ type: "percent",
220
+ columnKey: "salesVarLyPct",
221
+ footerCalculation: {
222
+ type: "variancePercent",
223
+ numeratorField: "salesVarLY",
224
+ denominatorField: "salesAmountNet"
225
+ }
226
+ },
227
+ salesAmountNetLastWeek: { type: "money" },
228
+ salesAmountNetLastYear: { type: "money" },
229
+ salesAmountGross: { type: "money" },
230
+ salesAmountGrossLastWeek: { type: "money" },
231
+ salesAmountGrossLastYear: { type: "money" },
232
+ ticketsCount: { type: "number" },
233
+ ticketsCountLastWeek: { type: "number" },
234
+ ticketsCountLastYear: { type: "number" },
235
+ guestsCount: { type: "number", columnKey: "guestCount" },
236
+ guestsVarLW: { type: "number", columnKey: "guestsVarLw" },
237
+ guestsVarLY: { type: "number", columnKey: "guestsVarLy" },
238
+ guestsVarLWPct: {
239
+ type: "percent",
240
+ columnKey: "guestsVarLwPct",
241
+ footerCalculation: {
242
+ type: "variancePercent",
243
+ numeratorField: "guestsVarLW",
244
+ denominatorField: "guestsCount"
245
+ }
246
+ },
247
+ guestsVarLYPct: {
248
+ type: "percent",
249
+ columnKey: "guestsVarLyPct",
250
+ footerCalculation: {
251
+ type: "variancePercent",
252
+ numeratorField: "guestsVarLY",
253
+ denominatorField: "guestsCount"
254
+ }
255
+ },
256
+ guestsCountLastWeek: { type: "number" },
257
+ guestsCountLastYear: { type: "number" },
258
+ salesPerGuestTY: {
259
+ type: "money",
260
+ columnKey: "salesPerGuest",
261
+ footerCalculation: {
262
+ type: "average",
263
+ numeratorField: "salesAmountNet",
264
+ denominatorField: "guestsCount"
265
+ }
266
+ },
267
+ salesPerGuestLW: {
268
+ type: "money",
269
+ columnKey: "salesPerGuestLw",
270
+ footerCalculation: {
271
+ type: "quotientOfDifferences",
272
+ numeratorField: "salesAmountNet",
273
+ numeratorAdjustField: "salesVarLW",
274
+ denominatorField: "guestsCount",
275
+ denominatorAdjustField: "guestsVarLW"
276
+ }
277
+ },
278
+ salesPerGuestLY: {
279
+ type: "money",
280
+ columnKey: "salesPerGuestLy",
281
+ footerCalculation: {
282
+ type: "quotientOfDifferences",
283
+ numeratorField: "salesAmountNet",
284
+ numeratorAdjustField: "salesVarLY",
285
+ denominatorField: "guestsCount",
286
+ denominatorAdjustField: "guestsVarLY"
287
+ }
288
+ }
289
+ };
290
+ var COLUMN_GROUPS = [
291
+ {
292
+ id: "sales",
293
+ headerTranslationKey: "table.groups.sales",
294
+ baseFields: ["salesAmountNet"],
295
+ lastWeekFields: ["salesVarLW", "salesVarLWPct"],
296
+ lastYearFields: ["salesVarLY", "salesVarLYPct"]
297
+ },
298
+ {
299
+ id: "guests",
300
+ headerTranslationKey: "table.groups.guests",
301
+ baseFields: ["guestsCount"],
302
+ lastWeekFields: ["guestsVarLW", "guestsVarLWPct"],
303
+ lastYearFields: ["guestsVarLY", "guestsVarLYPct"]
304
+ },
305
+ {
306
+ id: "salesPerGuest",
307
+ headerTranslationKey: "table.groups.sales-per-guest",
308
+ baseFields: ["salesPerGuestTY"],
309
+ lastWeekFields: ["salesPerGuestLW"],
310
+ lastYearFields: ["salesPerGuestLY"]
311
+ }
312
+ ];
313
+ var SALES_SUMMARY_AVAILABLE_COLUMNS = [
314
+ "salesAmountNet",
315
+ "salesVarLW",
316
+ "salesVarLWPct",
317
+ "salesVarLY",
318
+ "salesVarLYPct",
319
+ "guestsCount",
320
+ "guestsVarLW",
321
+ "guestsVarLWPct",
322
+ "guestsVarLY",
323
+ "guestsVarLYPct",
324
+ "salesPerGuestTY",
325
+ "salesPerGuestLW",
326
+ "salesPerGuestLY"
327
+ ];
328
+ var SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS = ["salesAmountNet", "guestsCount", "salesPerGuestTY"];
329
+ var salesSummaryConfig = {
330
+ fields: FIELDS2,
331
+ availableColumns: SALES_SUMMARY_AVAILABLE_COLUMNS,
332
+ defaultVisibleColumns: SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS,
333
+ columnGroups: COLUMN_GROUPS,
334
+ hasFooter: true
335
+ };
336
+
337
+ // src/reports/ticketSummary.ts
338
+ var FIELDS3 = {
339
+ ticketId: { type: "string" },
340
+ locationId: { type: "number" },
341
+ orderName: { type: "string" },
342
+ revenueCenterName: { type: "string", columnKey: "revenueCenter" },
343
+ daypartName: { type: "string", columnKey: "daypart" },
344
+ inclusiveTaxesAmount: {
345
+ type: "money",
346
+ columnKey: "inclusiveTax",
347
+ footerCalculation: { type: "sum" }
348
+ },
349
+ locationName: { type: "string", size: 240, columnKey: "locationName" },
350
+ orderNumber: { type: "number", columnKey: "ticketNumber", footerCalculation: { type: "none" } },
351
+ businessDate: { type: "date", columnKey: "date" },
352
+ ticketOpenedAt: { type: "time", columnKey: "ticketOpen" },
353
+ ticketClosedAt: { type: "time", columnKey: "ticketClosed" },
354
+ ticketTime: { type: "number", columnKey: "timeOpenMins", enableSorting: false },
355
+ ticketSubtotal: {
356
+ type: "money",
357
+ columnKey: "subtotal",
358
+ footerCalculation: { type: "sum" }
359
+ },
360
+ discountsAmount: {
361
+ type: "money",
362
+ columnKey: "discountAmount",
363
+ footerCalculation: { type: "sum" }
364
+ },
365
+ surchargesAmount: {
366
+ type: "money",
367
+ columnKey: "ticketFee",
368
+ footerCalculation: { type: "sum" }
369
+ },
370
+ taxesAmount: {
371
+ type: "money",
372
+ columnKey: "taxCollected",
373
+ footerCalculation: { type: "sum" }
374
+ },
375
+ ticketGrandTotal: {
376
+ type: "money",
377
+ columnKey: "grandTotal",
378
+ footerCalculation: { type: "sum" }
379
+ },
380
+ gratuitiesAmount: {
381
+ type: "money",
382
+ columnKey: "autoGratuity",
383
+ footerCalculation: { type: "sum" }
384
+ },
385
+ tipAmount: {
386
+ type: "money",
387
+ columnKey: "tips",
388
+ footerCalculation: { type: "sum" }
389
+ },
390
+ paymentsAmount: {
391
+ type: "money",
392
+ columnKey: "totalCollected",
393
+ footerCalculation: { type: "sum" }
394
+ },
395
+ paymentTypeName: { type: "string", columnKey: "paymentType" },
396
+ guestsCount: {
397
+ type: "number",
398
+ columnKey: "guestCount",
399
+ footerCalculation: { type: "sum" }
400
+ },
401
+ employeeName: { type: "string", columnKey: "employeeName" },
402
+ orderTypeName: { type: "string", columnKey: "orderType" }
403
+ };
404
+ var TICKET_SUMMARY_AVAILABLE_COLUMNS = [
405
+ "locationName",
406
+ "businessDate",
407
+ "ticketOpenedAt",
408
+ "ticketClosedAt",
409
+ "ticketTime",
410
+ "ticketSubtotal",
411
+ "discountsAmount",
412
+ "surchargesAmount",
413
+ "taxesAmount",
414
+ "ticketGrandTotal",
415
+ "gratuitiesAmount",
416
+ "tipAmount",
417
+ "paymentsAmount",
418
+ "paymentTypeName",
419
+ "guestsCount",
420
+ "employeeName",
421
+ "orderTypeName"
422
+ ];
423
+ var ticketSummaryConfig = {
424
+ fields: FIELDS3,
425
+ availableColumns: TICKET_SUMMARY_AVAILABLE_COLUMNS,
426
+ defaultVisibleColumns: TICKET_SUMMARY_AVAILABLE_COLUMNS,
427
+ hasFooter: true
428
+ };
429
+
430
+ // src/reports/ticketLive.ts
431
+ var FIELDS4 = {
432
+ locationName: { type: "string", columnKey: "locationName" },
433
+ orderNumber: {
434
+ type: "number",
435
+ columnKey: "ticketNumber",
436
+ footerCalculation: { type: "none" }
437
+ },
438
+ dateOpen: { type: "string", columnKey: "date" },
439
+ timeOpen: { type: "string", columnKey: "ticketOpen" },
440
+ dateClose: { type: "string", columnKey: "dateClose" },
441
+ timeClose: { type: "string", columnKey: "ticketClosed" },
442
+ durationMinutes: { type: "number", columnKey: "timeOpenMins" },
443
+ subtotal: { type: "money", columnKey: "subtotal" },
444
+ discountTotal: { type: "money", columnKey: "discountAmount" },
445
+ surchargeTotal: { type: "money", columnKey: "ticketFee" },
446
+ taxTotal: { type: "money", columnKey: "taxCollected" },
447
+ grandTotal: { type: "money", columnKey: "grandTotal" },
448
+ gratuityTotal: { type: "money", columnKey: "autoGratuity" },
449
+ totalTips: { type: "money", columnKey: "totalTips" },
450
+ paymentsReceived: { type: "money", columnKey: "totalCollected" },
451
+ paymentTypeName: { type: "string", columnKey: "paymentType" },
452
+ guestCount: {
453
+ type: "number",
454
+ columnKey: "guestCount",
455
+ footerCalculation: { type: "sum" }
456
+ },
457
+ customerName: { type: "string", columnKey: "customerName" },
458
+ employeeName: { type: "string", columnKey: "employeeName" },
459
+ orderType: { type: "string", columnKey: "orderType" }
460
+ };
461
+ var TICKET_LIVE_AVAILABLE_COLUMNS = [
462
+ "locationName",
463
+ "orderNumber",
464
+ "dateOpen",
465
+ "timeOpen",
466
+ "timeClose",
467
+ "durationMinutes",
468
+ "subtotal",
469
+ "discountTotal",
470
+ "surchargeTotal",
471
+ "taxTotal",
472
+ "grandTotal",
473
+ "gratuityTotal",
474
+ "totalTips",
475
+ "paymentsReceived",
476
+ "paymentTypeName",
477
+ "guestCount",
478
+ "employeeName",
479
+ "orderType"
480
+ ];
481
+ var ticketLiveConfig = {
482
+ fields: FIELDS4,
483
+ availableColumns: TICKET_LIVE_AVAILABLE_COLUMNS,
484
+ defaultVisibleColumns: TICKET_LIVE_AVAILABLE_COLUMNS,
485
+ hasFooter: true
486
+ };
487
+
488
+ // src/reports/productMix.ts
489
+ var FIELDS5 = {
490
+ groupById: { type: "string" },
491
+ groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
492
+ salesAmountGross: { type: "money", columnKey: "grossSales" },
493
+ discountsAmount: { type: "money", columnKey: "discountAmount" },
494
+ inclusiveTaxesAmount: { type: "money", columnKey: "inclusiveTax" },
495
+ salesAmountNet: { type: "money", columnKey: "netSales" },
496
+ itemsQuantity: { type: "fixedNumber", columnKey: "quantity" },
497
+ avgPrice: {
498
+ type: "money",
499
+ columnKey: "averageGrossPrice",
500
+ footerCalculation: {
501
+ type: "average",
502
+ numeratorField: "salesAmountGross",
503
+ denominatorField: "itemsQuantity"
504
+ }
505
+ },
506
+ salesMixPct: { type: "percent", columnKey: "salesMixByPct" }
507
+ };
508
+ var PRODUCT_MIX_AVAILABLE_COLUMNS = [
509
+ "salesAmountGross",
510
+ "itemsQuantity",
511
+ "avgPrice",
512
+ "discountsAmount",
513
+ "inclusiveTaxesAmount",
514
+ "salesAmountNet",
515
+ "salesMixPct"
516
+ ];
517
+ var productMixConfig = {
518
+ fields: FIELDS5,
519
+ availableColumns: PRODUCT_MIX_AVAILABLE_COLUMNS,
520
+ defaultVisibleColumns: PRODUCT_MIX_AVAILABLE_COLUMNS,
521
+ chartFields: PRODUCT_MIX_AVAILABLE_COLUMNS,
522
+ hasFooter: true
523
+ };
524
+
525
+ // src/reports/modifierMix.ts
526
+ var FIELDS6 = {
527
+ groupById: { type: "string", filteringAvailable: false },
528
+ groupByName: { type: "string", size: FIRST_COLUMN_WIDTH, filteringAvailable: false },
529
+ groupById2: { type: "string", filteringAvailable: false },
530
+ groupByName2: { type: "string", size: FIRST_COLUMN_WIDTH, filteringAvailable: false },
531
+ modifiersSales: { type: "money", columnKey: "totalModifierSales" },
532
+ modifiersQuantity: { type: "number", columnKey: "modifierQuantity" },
533
+ itemsQuantity: {
534
+ type: "number",
535
+ columnKey: "quantity",
536
+ filteringAvailable: false
537
+ },
538
+ avgGross: {
539
+ type: "money",
540
+ columnKey: "averageGrossPrice",
541
+ footerCalculation: {
542
+ type: "average",
543
+ numeratorField: "modifiersSales",
544
+ denominatorField: "modifiersQuantity"
545
+ }
546
+ },
547
+ attachRate: {
548
+ type: "percent",
549
+ columnKey: "attachRate",
550
+ footerCalculation: {
551
+ type: "average",
552
+ numeratorField: "modifiersQuantity",
553
+ denominatorField: "itemsQuantity"
554
+ }
555
+ },
556
+ modifiersSalesComp: { type: "money", filteringAvailable: false },
557
+ modifiersQuantityComp: { type: "number", filteringAvailable: false },
558
+ itemsQuantityComp: { type: "number", filteringAvailable: false },
559
+ attachRateComp: { type: "percent", filteringAvailable: false },
560
+ modifiersSalesVar: { type: "money", filteringAvailable: false },
561
+ modifiersSalesVarPct: {
562
+ type: "percent",
563
+ filteringAvailable: false,
564
+ footerCalculation: {
565
+ type: "percentChange",
566
+ numeratorField: "modifiersSales",
567
+ denominatorField: "modifiersSalesComp"
568
+ }
569
+ },
570
+ modifiersQuantityVar: { type: "number", filteringAvailable: false },
571
+ modifiersQuantityVarPct: {
572
+ type: "percent",
573
+ filteringAvailable: false,
574
+ footerCalculation: {
575
+ type: "percentChange",
576
+ numeratorField: "modifiersQuantity",
577
+ denominatorField: "modifiersQuantityComp"
578
+ }
579
+ },
580
+ attachRateVar: { type: "percent", filteringAvailable: false },
581
+ attachRateVarPct: {
582
+ type: "percent",
583
+ filteringAvailable: false,
584
+ footerCalculation: {
585
+ type: "percentChange",
586
+ numeratorField: "attachRate",
587
+ denominatorField: "attachRateComp"
588
+ }
589
+ }
590
+ };
591
+ var MODIFIER_MIX_AVAILABLE_COLUMNS = ["modifiersSales", "modifiersQuantity", "avgGross"];
592
+ var modifierMixConfig = {
593
+ fields: FIELDS6,
594
+ availableColumns: MODIFIER_MIX_AVAILABLE_COLUMNS,
595
+ defaultVisibleColumns: MODIFIER_MIX_AVAILABLE_COLUMNS,
596
+ hasFooter: true
597
+ };
598
+
599
+ // src/reports/itemTax.ts
600
+ var FIELDS7 = {
601
+ locationId: { type: "number", filteringAvailable: false },
602
+ taxIsFlat: { type: "boolean", filteringAvailable: false },
603
+ merchantId: { type: "string", columnKey: "locationMid", filteringAvailable: false },
604
+ locationName: { type: "string", columnKey: "locationName", filteringAvailable: false },
605
+ locationCity: { type: "string", columnKey: "locationCity", filteringAvailable: false },
606
+ locationState: { type: "string", columnKey: "locationState", filteringAvailable: false },
607
+ itemName: { type: "string", columnKey: "itemName", filteringAvailable: false },
608
+ itemPrice: { type: "money", columnKey: "itemPrice" },
609
+ departmentName: { type: "string", columnKey: "department", filteringAvailable: false },
610
+ revenueClassName: { type: "string", columnKey: "revenueClass", filteringAvailable: false },
611
+ orderTypeName: { type: "string", columnKey: "orderType", filteringAvailable: false },
612
+ taxName: { type: "string", columnKey: "taxName", filteringAvailable: false },
613
+ taxValue: { type: "money", columnKey: "taxableSales" },
614
+ taxRate: {
615
+ type: "conditional",
616
+ columnKey: "taxRate",
617
+ conditionalConfiguration: {
618
+ conditionalField: "taxIsFlat",
619
+ conditionalFormat: (field) => {
620
+ return field ? "money" : "percent";
621
+ }
622
+ }
623
+ },
624
+ recordsCount: { type: "number", columnKey: "quantity" },
625
+ taxableSales: { type: "money", columnKey: "taxableSales" },
626
+ totalCollected: { type: "money", columnKey: "totalCollected" },
627
+ itemTax: { type: "money", columnKey: "taxCollected" },
628
+ taxCollected: { type: "money", columnKey: "taxCollected" }
629
+ };
630
+ var ITEM_TAX_AVAILABLE_COLUMNS = [
631
+ "merchantId",
632
+ "locationName",
633
+ "locationCity",
634
+ "locationState",
635
+ "itemName",
636
+ "departmentName",
637
+ "revenueClassName",
638
+ "orderTypeName",
639
+ "recordsCount",
640
+ "itemPrice",
641
+ "taxName",
642
+ "taxRate",
643
+ "taxableSales",
644
+ "taxCollected"
645
+ ];
646
+ var itemTaxConfig = {
647
+ fields: FIELDS7,
648
+ availableColumns: ITEM_TAX_AVAILABLE_COLUMNS,
649
+ defaultVisibleColumns: ITEM_TAX_AVAILABLE_COLUMNS,
650
+ hasFooter: false
651
+ };
652
+
653
+ // src/reports/employeeTimecard.ts
654
+ var EMPLOYEE_NAME_WIDTH = 220;
655
+ var STATUS_WIDTH = 140;
656
+ var LOOKUP_WIDTH = 160;
657
+ var PAYROLL_WIDTH = 160;
658
+ var JOB_WIDTH = 200;
659
+ var FIELDS8 = {
660
+ locationId: {
661
+ type: "number",
662
+ enableSorting: false,
663
+ filteringAvailable: false
664
+ },
665
+ locationName: {
666
+ type: "string",
667
+ size: FIRST_COLUMN_WIDTH,
668
+ columnKey: "locationName"
669
+ },
670
+ businessDate: {
671
+ type: "date",
672
+ columnKey: "date"
673
+ },
674
+ employeeName: {
675
+ type: "string",
676
+ size: EMPLOYEE_NAME_WIDTH,
677
+ columnKey: "employeeName"
678
+ },
679
+ isActive: {
680
+ type: "string",
681
+ size: STATUS_WIDTH,
682
+ columnKey: "status",
683
+ enableSorting: false,
684
+ filteringAvailable: false
685
+ },
686
+ lookup: {
687
+ type: "string",
688
+ size: LOOKUP_WIDTH,
689
+ columnKey: "employeeId"
690
+ },
691
+ payrollCode: {
692
+ type: "string",
693
+ size: PAYROLL_WIDTH,
694
+ columnKey: "payrollId"
695
+ },
696
+ jobName: {
697
+ type: "string",
698
+ size: JOB_WIDTH,
699
+ columnKey: "employeeJob"
700
+ },
701
+ isBreak: {
702
+ type: "string",
703
+ enableSorting: false,
704
+ filteringAvailable: false
705
+ },
706
+ startTime: {
707
+ type: "string",
708
+ columnKey: "clockInTime"
709
+ },
710
+ endTime: {
711
+ type: "string",
712
+ columnKey: "clockOutTime"
713
+ },
714
+ shiftHours: {
715
+ type: "fixedNumber",
716
+ columnKey: "shiftDurationHrs",
717
+ filteringAvailable: false
718
+ }
719
+ };
720
+ var EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS = [
721
+ "locationName",
722
+ "businessDate",
723
+ "isActive",
724
+ "lookup",
725
+ "payrollCode",
726
+ "jobName",
727
+ "startTime",
728
+ "endTime",
729
+ "shiftHours"
730
+ ];
731
+ var employeeTimecardConfig = {
732
+ fields: FIELDS8,
733
+ availableColumns: EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
734
+ defaultVisibleColumns: EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS,
735
+ hasFooter: true
736
+ };
737
+
738
+ // src/reports/employeeTip.ts
739
+ var FIELDS9 = {
740
+ employeeName: { type: "string", size: 220, columnKey: "employeeName" },
741
+ empId: { type: "string", size: 160, columnKey: "employeeId" },
742
+ payrollId: { type: "string", size: 160, columnKey: "payrollId" },
743
+ locationName: { type: "string", size: 220, columnKey: "locationName" },
744
+ status: { type: "string", size: 140, columnKey: "status" },
745
+ grossSales: { type: "money", columnKey: "grossSales", footerCalculation: { type: "sum" } },
746
+ grossCash: { type: "money", columnKey: "grossCashSales", footerCalculation: { type: "sum" } },
747
+ grossCc: { type: "money", columnKey: "grossCreditSales", footerCalculation: { type: "sum" } },
748
+ totalPayments: { type: "money", columnKey: "totalCollected", footerCalculation: { type: "sum" } },
749
+ autoGratuity: { type: "money", columnKey: "autoGratuity", footerCalculation: { type: "sum" } },
750
+ grossTips: { type: "money", columnKey: "grossTips", footerCalculation: { type: "sum" } },
751
+ declaredTips: { type: "money", columnKey: "declaredTips", footerCalculation: { type: "sum" } },
752
+ tipReduction: { type: "money", columnKey: "tipReduction", footerCalculation: { type: "sum" } },
753
+ tipShare: { type: "money", columnKey: "tipShare", footerCalculation: { type: "sum" } },
754
+ netTips: { type: "money", columnKey: "tips", footerCalculation: { type: "sum" } },
755
+ tipPercentage: {
756
+ type: "percent",
757
+ columnKey: "tipPct",
758
+ footerCalculation: { type: "average", numeratorField: "grossTips", denominatorField: "grossSales" }
759
+ }
760
+ };
761
+ var AVAILABLE_COLUMNS = [
762
+ "employeeName",
763
+ "empId",
764
+ "payrollId",
765
+ "locationName",
766
+ "status",
767
+ "grossSales",
768
+ "grossCash",
769
+ "grossCc",
770
+ "totalPayments",
771
+ "autoGratuity",
772
+ "grossTips",
773
+ "declaredTips",
774
+ "tipReduction",
775
+ "tipShare",
776
+ "netTips",
777
+ "tipPercentage"
778
+ ];
779
+ var employeeTipConfig = {
780
+ fields: FIELDS9,
781
+ availableColumns: AVAILABLE_COLUMNS,
782
+ defaultVisibleColumns: AVAILABLE_COLUMNS,
783
+ hasFooter: true
784
+ };
785
+
786
+ // src/reports/dailySales.ts
787
+ var FIELDS10 = {
788
+ groupById: { type: "string" },
789
+ groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
790
+ itemsQuantity: { type: "number", columnKey: "quantity" },
791
+ salesAmountGross: { type: "money", columnKey: "grossSales" },
792
+ discountsAmount: { type: "money", columnKey: "discountAmount" },
793
+ inclusiveTaxesAmount: { type: "money", columnKey: "inclusiveTax" },
794
+ salesAmountNet: { type: "money", columnKey: "netSales" },
795
+ salesMixPct: { type: "percent", columnKey: "salesMixByPct" }
796
+ };
797
+ var DAILY_SALES_AVAILABLE_COLUMNS = [
798
+ "itemsQuantity",
799
+ "salesAmountGross",
800
+ "discountsAmount",
801
+ "inclusiveTaxesAmount",
802
+ "salesAmountNet",
803
+ "salesMixPct"
804
+ ];
805
+ var dailySalesConfig = {
806
+ fields: FIELDS10,
807
+ availableColumns: DAILY_SALES_AVAILABLE_COLUMNS,
808
+ defaultVisibleColumns: DAILY_SALES_AVAILABLE_COLUMNS,
809
+ hasFooter: true,
810
+ dataAccessKey: "salesByRevClass",
811
+ sectionName: "common.report-section.revenue-class",
812
+ extraFooterRowsKey: "salesByRevClassFooter"
813
+ };
814
+
815
+ // src/reports/dailySalesCache.ts
816
+ var FIELDS11 = {
817
+ name: { type: "string", columnKey: "type", size: FIRST_COLUMN_WIDTH },
818
+ amount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } }
819
+ };
820
+ var dailySalesCacheConfig = {
821
+ fields: FIELDS11,
822
+ availableColumns: ["name", "amount"],
823
+ defaultVisibleColumns: ["name", "amount"],
824
+ hasFooter: true,
825
+ dataAccessKey: "cashPayments",
826
+ sectionName: "common.report-section.cash"
827
+ };
828
+
829
+ // src/reports/dailySalesDiscounts.ts
830
+ var FIELDS12 = {
831
+ discountName: { type: "string", columnKey: "discountName", size: FIRST_COLUMN_WIDTH },
832
+ ticketCount: { type: "number", columnKey: "ticketCount", footerCalculation: { type: "sum" } },
833
+ itemCount: { type: "number", columnKey: "itemCount", footerCalculation: { type: "sum" } },
834
+ discountsAmount: { type: "money", columnKey: "discountAmount", footerCalculation: { type: "sum" } }
835
+ };
836
+ var DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS = [
837
+ "discountName",
838
+ "ticketCount",
839
+ "itemCount",
840
+ "discountsAmount"
841
+ ];
842
+ var dailySalesDiscountsConfig = {
843
+ fields: FIELDS12,
844
+ availableColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
845
+ defaultVisibleColumns: DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS,
846
+ hasFooter: true,
847
+ dataAccessKey: "discounts",
848
+ sectionName: "common.report-section.discounts"
849
+ };
850
+
851
+ // src/reports/dailySalesPayments.ts
852
+ var FIELDS13 = {
853
+ paymentTypeName: { type: "string", size: FIRST_COLUMN_WIDTH },
854
+ paymentsCount: { type: "number", columnKey: "paymentsCount", footerCalculation: { type: "sum" } },
855
+ paymentsAmount: { type: "money", columnKey: "paymentsAmount", footerCalculation: { type: "sum" } },
856
+ tipsAmount: { type: "money", columnKey: "tips", footerCalculation: { type: "sum" } },
857
+ totalSales: { type: "money", columnKey: "paymentsTotal", footerCalculation: { type: "sum" } }
858
+ };
859
+ var DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS = [
860
+ "paymentTypeName",
861
+ "paymentsCount",
862
+ "paymentsAmount",
863
+ "tipsAmount",
864
+ "totalSales"
865
+ ];
866
+ var dailySalesPaymentsConfig = {
867
+ fields: FIELDS13,
868
+ availableColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
869
+ defaultVisibleColumns: DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS,
870
+ hasFooter: true,
871
+ dataAccessKey: "payments",
872
+ sectionName: "common.report-section.payments"
873
+ };
874
+
875
+ // src/reports/dailySalesRefundsVoids.ts
876
+ var FIELDS14 = {
877
+ description: { type: "string", columnKey: "refundVoidDescription", size: FIRST_COLUMN_WIDTH },
878
+ count: { type: "number", columnKey: "refundVoidCount", footerCalculation: { type: "sum" } },
879
+ amount: { type: "money", columnKey: "refundVoidAmount", footerCalculation: { type: "sum" } },
880
+ pctSales: { type: "percent", columnKey: "refundVoidPctSales", footerCalculation: { type: "sum" } }
881
+ };
882
+ var DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS = [
883
+ "description",
884
+ "count",
885
+ "amount",
886
+ "pctSales"
887
+ ];
888
+ var dailySalesRefundsVoidsConfig = {
889
+ fields: FIELDS14,
890
+ availableColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
891
+ defaultVisibleColumns: DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS,
892
+ hasFooter: true,
893
+ dataAccessKey: "refundsVoids",
894
+ sectionName: "common.report-section.refunds-voids"
895
+ };
896
+
897
+ // src/reports/dailySalesTaxes.ts
898
+ var FIELDS15 = {
899
+ taxName: { type: "string", columnKey: "taxName", size: FIRST_COLUMN_WIDTH },
900
+ taxableSales: { type: "money", columnKey: "taxableSales", footerCalculation: { type: "none" } },
901
+ taxesAmount: { type: "money", columnKey: "taxCollected", footerCalculation: { type: "sum" } },
902
+ exemptSales: { type: "money", columnKey: "exemptSales", footerCalculation: { type: "sum" } }
903
+ };
904
+ var DAILY_SALES_TAXES_AVAILABLE_COLUMNS = [
905
+ "taxName",
906
+ "taxableSales",
907
+ "taxesAmount",
908
+ "exemptSales"
909
+ ];
910
+ var dailySalesTaxesConfig = {
911
+ fields: FIELDS15,
912
+ availableColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
913
+ defaultVisibleColumns: DAILY_SALES_TAXES_AVAILABLE_COLUMNS,
914
+ hasFooter: true,
915
+ dataAccessKey: "taxes",
916
+ sectionName: "common.report-section.taxes"
917
+ };
918
+
919
+ // src/reports/dailySalesTrends.ts
920
+ var FIELDS16 = {
921
+ groupById: { type: "string" },
922
+ groupByName: { type: "string", size: FIRST_COLUMN_WIDTH },
923
+ salesAmountNet: { type: "money", columnKey: "netSales" },
924
+ ticketsCount: { type: "number", columnKey: "tickets" },
925
+ guestsCount: { type: "number", columnKey: "guests" },
926
+ ticketAvg: {
927
+ type: "money",
928
+ columnKey: "ticketAverage",
929
+ footerCalculation: {
930
+ type: "average",
931
+ numeratorField: "salesAmountNet",
932
+ denominatorField: "ticketsCount"
933
+ }
934
+ },
935
+ guestAvg: {
936
+ type: "money",
937
+ columnKey: "guestAverage",
938
+ footerCalculation: {
939
+ type: "average",
940
+ numeratorField: "salesAmountNet",
941
+ denominatorField: "guestsCount"
942
+ }
943
+ }
944
+ };
945
+ var DAILY_SALES_TRENDS_AVAILABLE_COLUMNS = [
946
+ "ticketsCount",
947
+ "guestsCount",
948
+ "ticketAvg",
949
+ "guestAvg",
950
+ "salesAmountNet"
951
+ ];
952
+ var dailySalesTrendsConfig = {
953
+ fields: FIELDS16,
954
+ availableColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
955
+ defaultVisibleColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
956
+ hasFooter: true,
957
+ dataAccessKey: "trendsByDayPart",
958
+ sectionName: "common.report-section.sales-by-day-part",
959
+ totalsLabel: "common.report-section.trends-footer.total-sales",
960
+ extraFooterFields: ["salesAmountNet"]
961
+ };
962
+ var dailySalesTrendsOrderTypeConfig = {
963
+ fields: FIELDS16,
964
+ availableColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
965
+ defaultVisibleColumns: DAILY_SALES_TRENDS_AVAILABLE_COLUMNS,
966
+ hasFooter: true,
967
+ dataAccessKey: "trendsByOrderType",
968
+ sectionName: "common.report-section.sales-by-order-type",
969
+ totalsLabel: "common.report-section.trends-footer.total-sales",
970
+ extraFooterFields: ["salesAmountNet"]
971
+ };
972
+
973
+ // src/report.ts
974
+ var DAILY_SALES_SECTION_CONFIGS = [
975
+ dailySalesConfig,
976
+ dailySalesPaymentsConfig,
977
+ dailySalesCacheConfig,
978
+ dailySalesTaxesConfig,
979
+ dailySalesRefundsVoidsConfig,
980
+ dailySalesDiscountsConfig,
981
+ dailySalesTrendsConfig,
982
+ dailySalesTrendsOrderTypeConfig
983
+ ];
984
+ var REPORT_CONFIG_MAP = {
985
+ "sales-summary": salesSummaryConfig,
986
+ "ticket-analytics": ticketSummaryConfig,
987
+ "ticket-live": ticketLiveConfig,
988
+ "product-mix": productMixConfig,
989
+ "modifier-mix": modifierMixConfig,
990
+ "item-tax": itemTaxConfig,
991
+ "employee-timecard": employeeTimecardConfig,
992
+ "employee-tip": employeeTipConfig,
993
+ "sales-by-item": salesByItemDetailConfig,
994
+ "daily-sales": DAILY_SALES_SECTION_CONFIGS,
995
+ "daily-sales-live": DAILY_SALES_SECTION_CONFIGS
996
+ };
997
+ var getReportConfig = (reportType) => REPORT_CONFIG_MAP[reportType];
998
+
999
+ // src/columns/index.ts
1000
+ var COLUMN_REGISTRY = {
1001
+ fifteenMinInterval: {
1002
+ titleKey: "common.report-col.fifteen-min-interval",
1003
+ shortTitleKey: "common.report-col.fifteen-min-interval.short",
1004
+ infoTextKey: "common.report-col.fifteen-min-interval.info"
1005
+ },
1006
+ adjustedTips: {
1007
+ titleKey: "common.report-col.adjusted-tips",
1008
+ shortTitleKey: "common.report-col.adjusted-tips.short",
1009
+ infoTextKey: "common.report-col.adjusted-tips.info"
1010
+ },
1011
+ advantageProgram: {
1012
+ titleKey: "common.report-col.advantage-program",
1013
+ shortTitleKey: "common.report-col.advantage-program.short",
1014
+ infoTextKey: "common.report-col.advantage-program.info"
1015
+ },
1016
+ amex: {
1017
+ titleKey: "common.report-col.amex",
1018
+ shortTitleKey: "common.report-col.amex.short",
1019
+ infoTextKey: "common.report-col.amex.info"
1020
+ },
1021
+ amexReturns: {
1022
+ titleKey: "common.report-col.amex-returns",
1023
+ shortTitleKey: "common.report-col.amex-returns.short",
1024
+ infoTextKey: "common.report-col.amex-returns.info"
1025
+ },
1026
+ attachRate: {
1027
+ titleKey: "common.report-col.attach-rate",
1028
+ shortTitleKey: "common.report-col.attach-rate.short",
1029
+ infoTextKey: "common.report-col.attach-rate.info"
1030
+ },
1031
+ autoGratuity: {
1032
+ titleKey: "common.report-col.auto-gratuity",
1033
+ shortTitleKey: "common.report-col.auto-gratuity.short",
1034
+ infoTextKey: "common.report-col.auto-gratuity.info"
1035
+ },
1036
+ averageGrossPrice: {
1037
+ titleKey: "common.report-col.average-gross-price",
1038
+ shortTitleKey: "common.report-col.average-gross-price.short",
1039
+ infoTextKey: "common.report-col.average-gross-price.info"
1040
+ },
1041
+ bankFees: {
1042
+ titleKey: "common.report-col.bank-fees",
1043
+ shortTitleKey: "common.report-col.bank-fees.short",
1044
+ infoTextKey: "common.report-col.bank-fees.info"
1045
+ },
1046
+ batchAmount: {
1047
+ titleKey: "common.report-col.batch-amount",
1048
+ shortTitleKey: "common.report-col.batch-amount.short",
1049
+ infoTextKey: "common.report-col.batch-amount.info"
1050
+ },
1051
+ batchDate: {
1052
+ titleKey: "common.report-col.batch-date",
1053
+ shortTitleKey: "common.report-col.batch-date.short",
1054
+ infoTextKey: "common.report-col.batch-date.info"
1055
+ },
1056
+ batchNumber: {
1057
+ titleKey: "common.report-col.batch-number",
1058
+ shortTitleKey: "common.report-col.batch-number.short",
1059
+ infoTextKey: "common.report-col.batch-number.info"
1060
+ },
1061
+ clockInTime: {
1062
+ titleKey: "common.report-col.clock-in-time",
1063
+ shortTitleKey: "common.report-col.clock-in-time.short",
1064
+ infoTextKey: "common.report-col.clock-in-time.info"
1065
+ },
1066
+ clockOutTime: {
1067
+ titleKey: "common.report-col.clock-out-time",
1068
+ shortTitleKey: "common.report-col.clock-out-time.short",
1069
+ infoTextKey: "common.report-col.clock-out-time.info"
1070
+ },
1071
+ country: {
1072
+ titleKey: "common.report-col.country",
1073
+ shortTitleKey: "common.report-col.country.short",
1074
+ infoTextKey: "common.report-col.country.info"
1075
+ },
1076
+ customerName: {
1077
+ titleKey: "common.report-col.customer-name",
1078
+ shortTitleKey: "common.report-col.customer-name.short",
1079
+ infoTextKey: "common.report-col.customer-name.info"
1080
+ },
1081
+ date: {
1082
+ titleKey: "common.report-col.date",
1083
+ shortTitleKey: "common.report-col.date.short",
1084
+ infoTextKey: "common.report-col.date.info"
1085
+ },
1086
+ dateClose: {
1087
+ titleKey: "common.report-col.date-close",
1088
+ shortTitleKey: "common.report-col.date-close.short",
1089
+ infoTextKey: "common.report-col.date-close.info"
1090
+ },
1091
+ daypart: {
1092
+ titleKey: "common.report-col.daypart",
1093
+ shortTitleKey: "common.report-col.daypart.short",
1094
+ infoTextKey: "common.report-col.daypart.info"
1095
+ },
1096
+ debit: {
1097
+ titleKey: "common.report-col.debit",
1098
+ shortTitleKey: "common.report-col.debit.short",
1099
+ infoTextKey: "common.report-col.debit.info"
1100
+ },
1101
+ debitReturns: {
1102
+ titleKey: "common.report-col.debit-returns",
1103
+ shortTitleKey: "common.report-col.debit-returns.short",
1104
+ infoTextKey: "common.report-col.debit-returns.info"
1105
+ },
1106
+ declaredTips: {
1107
+ titleKey: "common.report-col.declared-tips",
1108
+ shortTitleKey: "common.report-col.declared-tips.short",
1109
+ infoTextKey: "common.report-col.declared-tips.info"
1110
+ },
1111
+ department: {
1112
+ titleKey: "common.report-col.department",
1113
+ shortTitleKey: "common.report-col.department.short",
1114
+ infoTextKey: "common.report-col.department.info"
1115
+ },
1116
+ depositCurrency: {
1117
+ titleKey: "common.report-col.deposit-currency",
1118
+ shortTitleKey: "common.report-col.deposit-currency.short",
1119
+ infoTextKey: "common.report-col.deposit-currency.info"
1120
+ },
1121
+ depositDate: {
1122
+ titleKey: "common.report-col.deposit-date",
1123
+ shortTitleKey: "common.report-col.deposit-date.short",
1124
+ infoTextKey: "common.report-col.deposit-date.info"
1125
+ },
1126
+ discountAmount: {
1127
+ titleKey: "common.report-col.discount-amount",
1128
+ shortTitleKey: "common.report-col.discount-amount.short",
1129
+ infoTextKey: "common.report-col.discount-amount.info"
1130
+ },
1131
+ discountCount: {
1132
+ titleKey: "common.report-col.discount-count",
1133
+ shortTitleKey: "common.report-col.discount-count.short",
1134
+ infoTextKey: "common.report-col.discount-count.info"
1135
+ },
1136
+ ticketCount: {
1137
+ titleKey: "common.report-col.ticket-count",
1138
+ shortTitleKey: "common.report-col.ticket-count.short",
1139
+ infoTextKey: "common.report-col.ticket-count.info"
1140
+ },
1141
+ itemCount: {
1142
+ titleKey: "common.report-col.item-count",
1143
+ shortTitleKey: "common.report-col.item-count.short",
1144
+ infoTextKey: "common.report-col.item-count.info"
1145
+ },
1146
+ discover: {
1147
+ titleKey: "common.report-col.discover",
1148
+ shortTitleKey: "common.report-col.discover.short",
1149
+ infoTextKey: "common.report-col.discover.info"
1150
+ },
1151
+ discoverReturns: {
1152
+ titleKey: "common.report-col.discover-returns",
1153
+ shortTitleKey: "common.report-col.discover-returns.short",
1154
+ infoTextKey: "common.report-col.discover-returns.info"
1155
+ },
1156
+ ebt: {
1157
+ titleKey: "common.report-col.ebt",
1158
+ shortTitleKey: "common.report-col.ebt.short",
1159
+ infoTextKey: "common.report-col.ebt.info"
1160
+ },
1161
+ ebtReturns: {
1162
+ titleKey: "common.report-col.ebt-returns",
1163
+ shortTitleKey: "common.report-col.ebt-returns.short",
1164
+ infoTextKey: "common.report-col.ebt-returns.info"
1165
+ },
1166
+ employeeId: {
1167
+ titleKey: "common.report-col.employee-id",
1168
+ shortTitleKey: "common.report-col.employee-id.short",
1169
+ infoTextKey: "common.report-col.employee-id.info"
1170
+ },
1171
+ employeeJob: {
1172
+ titleKey: "common.report-col.employee-job",
1173
+ shortTitleKey: "common.report-col.employee-job.short",
1174
+ infoTextKey: "common.report-col.employee-job.info"
1175
+ },
1176
+ employeeName: {
1177
+ titleKey: "common.report-col.employee-name",
1178
+ shortTitleKey: "common.report-col.employee-name.short",
1179
+ infoTextKey: "common.report-col.employee-name.info"
1180
+ },
1181
+ exemptTaxes: {
1182
+ titleKey: "common.report-col.exempt-taxes",
1183
+ shortTitleKey: "common.report-col.exempt-taxes.short",
1184
+ infoTextKey: "common.report-col.exempt-taxes.info"
1185
+ },
1186
+ exemptSales: {
1187
+ titleKey: "common.report-col.exempt-sales",
1188
+ shortTitleKey: "common.report-col.exempt-sales.short",
1189
+ infoTextKey: "common.report-col.exempt-sales.info"
1190
+ },
1191
+ grandTotal: {
1192
+ titleKey: "common.report-col.grand-total",
1193
+ shortTitleKey: "common.report-col.grand-total.short",
1194
+ infoTextKey: "common.report-col.grand-total.info"
1195
+ },
1196
+ grossCashSales: {
1197
+ titleKey: "common.report-col.gross-cash-sales",
1198
+ shortTitleKey: "common.report-col.gross-cash-sales.short",
1199
+ infoTextKey: "common.report-col.gross-cash-sales.info"
1200
+ },
1201
+ grossCashTips: {
1202
+ titleKey: "common.report-col.gross-cash-tips",
1203
+ shortTitleKey: "common.report-col.gross-cash-tips.short",
1204
+ infoTextKey: "common.report-col.gross-cash-tips.info"
1205
+ },
1206
+ grossCreditCardTips: {
1207
+ titleKey: "common.report-col.gross-credit-card-tips",
1208
+ shortTitleKey: "common.report-col.gross-credit-card-tips.short",
1209
+ infoTextKey: "common.report-col.gross-credit-card-tips.info"
1210
+ },
1211
+ grossCreditSales: {
1212
+ titleKey: "common.report-col.gross-credit-sales",
1213
+ shortTitleKey: "common.report-col.gross-credit-sales.short",
1214
+ infoTextKey: "common.report-col.gross-credit-sales.info"
1215
+ },
1216
+ grossSales: {
1217
+ titleKey: "common.report-col.gross-sales",
1218
+ shortTitleKey: "common.report-col.gross-sales.short",
1219
+ infoTextKey: "common.report-col.gross-sales.info"
1220
+ },
1221
+ grossTips: {
1222
+ titleKey: "common.report-col.gross-tips",
1223
+ shortTitleKey: "common.report-col.gross-tips.short",
1224
+ infoTextKey: "common.report-col.gross-tips.info"
1225
+ },
1226
+ guestCount: {
1227
+ titleKey: "common.report-col.guest-count",
1228
+ shortTitleKey: "common.report-col.guest-count.short",
1229
+ infoTextKey: "common.report-col.guest-count.info"
1230
+ },
1231
+ guestsVarLw: {
1232
+ titleKey: "common.report-col.guests-var-lw",
1233
+ shortTitleKey: "common.report-col.guests-var-lw.short",
1234
+ infoTextKey: "common.report-col.guests-var-lw.info"
1235
+ },
1236
+ guestsVarLwPct: {
1237
+ titleKey: "common.report-col.guests-var-lw-pct",
1238
+ shortTitleKey: "common.report-col.guests-var-lw-pct.short",
1239
+ infoTextKey: "common.report-col.guests-var-lw-pct.info"
1240
+ },
1241
+ guestsVarLy: {
1242
+ titleKey: "common.report-col.guests-var-ly",
1243
+ shortTitleKey: "common.report-col.guests-var-ly.short",
1244
+ infoTextKey: "common.report-col.guests-var-ly.info"
1245
+ },
1246
+ guestsVarLyPct: {
1247
+ titleKey: "common.report-col.guests-var-ly-pct",
1248
+ shortTitleKey: "common.report-col.guests-var-ly-pct.short",
1249
+ infoTextKey: "common.report-col.guests-var-ly-pct.info"
1250
+ },
1251
+ hour: {
1252
+ titleKey: "common.report-col.hour",
1253
+ shortTitleKey: "common.report-col.hour.short",
1254
+ infoTextKey: "common.report-col.hour.info"
1255
+ },
1256
+ hoursWorked: {
1257
+ titleKey: "common.report-col.hours-worked",
1258
+ shortTitleKey: "common.report-col.hours-worked.short",
1259
+ infoTextKey: "common.report-col.hours-worked.info"
1260
+ },
1261
+ inclusiveTax: {
1262
+ titleKey: "common.report-col.inclusive-tax",
1263
+ shortTitleKey: "common.report-col.inclusive-tax.short",
1264
+ infoTextKey: "common.report-col.inclusive-tax.info"
1265
+ },
1266
+ itemName: {
1267
+ titleKey: "common.report-col.item-name",
1268
+ shortTitleKey: "common.report-col.item-name.short",
1269
+ infoTextKey: "common.report-col.item-name.info"
1270
+ },
1271
+ itemPrice: {
1272
+ titleKey: "common.report-col.item-price",
1273
+ shortTitleKey: "common.report-col.item-price.short",
1274
+ infoTextKey: "common.report-col.item-price.info"
1275
+ },
1276
+ itemQuantity: {
1277
+ titleKey: "common.report-col.item-quantity",
1278
+ shortTitleKey: "common.report-col.item-quantity.short",
1279
+ infoTextKey: "common.report-col.item-quantity.info"
1280
+ },
1281
+ locationCity: {
1282
+ titleKey: "common.report-col.location-city",
1283
+ shortTitleKey: "common.report-col.location-city.short",
1284
+ infoTextKey: "common.report-col.location-city.info"
1285
+ },
1286
+ locationId: {
1287
+ titleKey: "common.report-col.location-id",
1288
+ shortTitleKey: "common.report-col.location-id.short",
1289
+ infoTextKey: "common.report-col.location-id.info"
1290
+ },
1291
+ locationMid: {
1292
+ titleKey: "common.report-col.location-mid",
1293
+ shortTitleKey: "common.report-col.location-mid.short",
1294
+ infoTextKey: "common.report-col.location-mid.info"
1295
+ },
1296
+ locationName: {
1297
+ titleKey: "common.report-col.location-name",
1298
+ shortTitleKey: "common.report-col.location-name.short",
1299
+ infoTextKey: "common.report-col.location-name.info"
1300
+ },
1301
+ locationState: {
1302
+ titleKey: "common.report-col.location-state",
1303
+ shortTitleKey: "common.report-col.location-state.short",
1304
+ infoTextKey: "common.report-col.location-state.info"
1305
+ },
1306
+ mastercard: {
1307
+ titleKey: "common.report-col.mastercard",
1308
+ shortTitleKey: "common.report-col.mastercard.short",
1309
+ infoTextKey: "common.report-col.mastercard.info"
1310
+ },
1311
+ mcReturns: {
1312
+ titleKey: "common.report-col.mc-returns",
1313
+ shortTitleKey: "common.report-col.mc-returns.short",
1314
+ infoTextKey: "common.report-col.mc-returns.info"
1315
+ },
1316
+ modifierName: {
1317
+ titleKey: "common.report-col.modifier-name",
1318
+ shortTitleKey: "common.report-col.modifier-name.short",
1319
+ infoTextKey: "common.report-col.modifier-name.info"
1320
+ },
1321
+ modifierPrice: {
1322
+ titleKey: "common.report-col.modifier-price",
1323
+ shortTitleKey: "common.report-col.modifier-price.short",
1324
+ infoTextKey: "common.report-col.modifier-price.info"
1325
+ },
1326
+ modifierQuantity: {
1327
+ titleKey: "common.report-col.modifier-quantity",
1328
+ shortTitleKey: "common.report-col.modifier-quantity.short",
1329
+ infoTextKey: "common.report-col.modifier-quantity.info"
1330
+ },
1331
+ netSales: {
1332
+ titleKey: "common.report-col.net-sales",
1333
+ shortTitleKey: "common.report-col.net-sales.short",
1334
+ infoTextKey: "common.report-col.net-sales.info"
1335
+ },
1336
+ netTaxCollected: {
1337
+ titleKey: "common.report-col.net-tax-collected",
1338
+ shortTitleKey: "common.report-col.net-tax-collected.short",
1339
+ infoTextKey: "common.report-col.net-tax-collected.info"
1340
+ },
1341
+ netTips: {
1342
+ titleKey: "common.report-col.net-tips",
1343
+ shortTitleKey: "common.report-col.net-tips.short",
1344
+ infoTextKey: "common.report-col.net-tips.info"
1345
+ },
1346
+ numberOfGuests: {
1347
+ titleKey: "common.report-col.number-of-guests",
1348
+ shortTitleKey: "common.report-col.number-of-guests.short",
1349
+ infoTextKey: "common.report-col.number-of-guests.info"
1350
+ },
1351
+ orderType: {
1352
+ titleKey: "common.report-col.order-type",
1353
+ shortTitleKey: "common.report-col.order-type.short",
1354
+ infoTextKey: "common.report-col.order-type.info"
1355
+ },
1356
+ paymentType: {
1357
+ titleKey: "common.report-col.payment-type",
1358
+ shortTitleKey: "common.report-col.payment-type.short",
1359
+ infoTextKey: "common.report-col.payment-type.info"
1360
+ },
1361
+ payrollId: {
1362
+ titleKey: "common.report-col.payroll-id",
1363
+ shortTitleKey: "common.report-col.payroll-id.short",
1364
+ infoTextKey: "common.report-col.payroll-id.info"
1365
+ },
1366
+ quantity: {
1367
+ titleKey: "common.report-col.quantity",
1368
+ shortTitleKey: "common.report-col.quantity.short",
1369
+ infoTextKey: "common.report-col.quantity.info"
1370
+ },
1371
+ referenceNumber: {
1372
+ titleKey: "common.report-col.reference-number",
1373
+ shortTitleKey: "common.report-col.reference-number.short",
1374
+ infoTextKey: "common.report-col.reference-number.info"
1375
+ },
1376
+ refundAmount: {
1377
+ titleKey: "common.report-col.refund-amount",
1378
+ shortTitleKey: "common.report-col.refund-amount.short",
1379
+ infoTextKey: "common.report-col.refund-amount.info"
1380
+ },
1381
+ refundedTaxAmount: {
1382
+ titleKey: "common.report-col.refunded-tax-amount",
1383
+ shortTitleKey: "common.report-col.refunded-tax-amount.short",
1384
+ infoTextKey: "common.report-col.refunded-tax-amount.info"
1385
+ },
1386
+ revenueCenter: {
1387
+ titleKey: "common.report-col.revenue-center",
1388
+ shortTitleKey: "common.report-col.revenue-center.short",
1389
+ infoTextKey: "common.report-col.revenue-center.info"
1390
+ },
1391
+ revenueClass: {
1392
+ titleKey: "common.report-col.revenue-class",
1393
+ shortTitleKey: "common.report-col.revenue-class.short",
1394
+ infoTextKey: "common.report-col.revenue-class.info"
1395
+ },
1396
+ salesVarLw: {
1397
+ titleKey: "common.report-col.sales-var-lw",
1398
+ shortTitleKey: "common.report-col.sales-var-lw.short",
1399
+ infoTextKey: "common.report-col.sales-var-lw.info"
1400
+ },
1401
+ salesVarLwPct: {
1402
+ titleKey: "common.report-col.sales-var-lw-pct",
1403
+ shortTitleKey: "common.report-col.sales-var-lw-pct.short",
1404
+ infoTextKey: "common.report-col.sales-var-lw-pct.info"
1405
+ },
1406
+ salesVarLy: {
1407
+ titleKey: "common.report-col.sales-var-ly",
1408
+ shortTitleKey: "common.report-col.sales-var-ly.short",
1409
+ infoTextKey: "common.report-col.sales-var-ly.info"
1410
+ },
1411
+ salesVarLyPct: {
1412
+ titleKey: "common.report-col.sales-var-ly-pct",
1413
+ shortTitleKey: "common.report-col.sales-var-ly-pct.short",
1414
+ infoTextKey: "common.report-col.sales-var-ly-pct.info"
1415
+ },
1416
+ salesMixByPct: {
1417
+ titleKey: "common.report-col.sales-mix-by-pct",
1418
+ shortTitleKey: "common.report-col.sales-mix-by-pct.short",
1419
+ infoTextKey: "common.report-col.sales-mix-by-pct.info"
1420
+ },
1421
+ salesPerGuest: {
1422
+ titleKey: "common.report-col.sales-per-guest",
1423
+ shortTitleKey: "common.report-col.sales-per-guest.short",
1424
+ infoTextKey: "common.report-col.sales-per-guest.info"
1425
+ },
1426
+ salesPerGuestLw: {
1427
+ titleKey: "common.report-col.sales-per-guest-lw",
1428
+ shortTitleKey: "common.report-col.sales-per-guest-lw.short",
1429
+ infoTextKey: "common.report-col.sales-per-guest-lw.info"
1430
+ },
1431
+ salesPerGuestLy: {
1432
+ titleKey: "common.report-col.sales-per-guest-ly",
1433
+ shortTitleKey: "common.report-col.sales-per-guest-ly.short",
1434
+ infoTextKey: "common.report-col.sales-per-guest-ly.info"
1435
+ },
1436
+ scheduledShiftEnd: {
1437
+ titleKey: "common.report-col.scheduled-shift-end",
1438
+ shortTitleKey: "common.report-col.scheduled-shift-end.short",
1439
+ infoTextKey: "common.report-col.scheduled-shift-end.info"
1440
+ },
1441
+ scheduledShiftStart: {
1442
+ titleKey: "common.report-col.scheduled-shift-start",
1443
+ shortTitleKey: "common.report-col.scheduled-shift-start.short",
1444
+ infoTextKey: "common.report-col.scheduled-shift-start.info"
1445
+ },
1446
+ settlementBatchDate: {
1447
+ titleKey: "common.report-col.settlement-batch-date",
1448
+ shortTitleKey: "common.report-col.settlement-batch-date.short",
1449
+ infoTextKey: "common.report-col.settlement-batch-date.info"
1450
+ },
1451
+ shiftDurationHrs: {
1452
+ titleKey: "common.report-col.shift-duration-hrs",
1453
+ shortTitleKey: "common.report-col.shift-duration-hrs.short",
1454
+ infoTextKey: "common.report-col.shift-duration-hrs.info"
1455
+ },
1456
+ salePaymentType: {
1457
+ titleKey: "common.report-col.sale-payment-type",
1458
+ shortTitleKey: "common.report-col.sale-payment-type.short",
1459
+ infoTextKey: "common.report-col.sale-payment-type.info"
1460
+ },
1461
+ status: {
1462
+ titleKey: "common.report-col.status",
1463
+ shortTitleKey: "common.report-col.status.short",
1464
+ infoTextKey: "common.report-col.status.info"
1465
+ },
1466
+ lastModified: {
1467
+ titleKey: "common.report-col.last-modified",
1468
+ shortTitleKey: "common.report-col.last-modified.short",
1469
+ infoTextKey: "common.report-col.last-modified.info"
1470
+ },
1471
+ subtotal: {
1472
+ titleKey: "common.report-col.subtotal",
1473
+ shortTitleKey: "common.report-col.subtotal.short",
1474
+ infoTextKey: "common.report-col.subtotal.info"
1475
+ },
1476
+ taxCollected: {
1477
+ titleKey: "common.report-col.tax-collected",
1478
+ shortTitleKey: "common.report-col.tax-collected.short",
1479
+ infoTextKey: "common.report-col.tax-collected.info"
1480
+ },
1481
+ taxName: {
1482
+ titleKey: "common.report-col.tax-name",
1483
+ shortTitleKey: "common.report-col.tax-name.short",
1484
+ infoTextKey: "common.report-col.tax-name.info"
1485
+ },
1486
+ taxRate: {
1487
+ titleKey: "common.report-col.tax-rate",
1488
+ shortTitleKey: "common.report-col.tax-rate.short",
1489
+ infoTextKey: "common.report-col.tax-rate.info"
1490
+ },
1491
+ taxableSales: {
1492
+ titleKey: "common.report-col.taxable-sales",
1493
+ shortTitleKey: "common.report-col.taxable-sales.short",
1494
+ infoTextKey: "common.report-col.taxable-sales.info"
1495
+ },
1496
+ ticketClosed: {
1497
+ titleKey: "common.report-col.ticket-closed",
1498
+ shortTitleKey: "common.report-col.ticket-closed.short",
1499
+ infoTextKey: "common.report-col.ticket-closed.info"
1500
+ },
1501
+ ticketFee: {
1502
+ titleKey: "common.report-col.ticket-fee",
1503
+ shortTitleKey: "common.report-col.ticket-fee.short",
1504
+ infoTextKey: "common.report-col.ticket-fee.info"
1505
+ },
1506
+ ticketNumber: {
1507
+ titleKey: "common.report-col.ticket-number",
1508
+ shortTitleKey: "common.report-col.ticket-number.short",
1509
+ infoTextKey: "common.report-col.ticket-number.info"
1510
+ },
1511
+ ticketOpen: {
1512
+ titleKey: "common.report-col.ticket-open",
1513
+ shortTitleKey: "common.report-col.ticket-open.short",
1514
+ infoTextKey: "common.report-col.ticket-open.info"
1515
+ },
1516
+ ticketTotal: {
1517
+ titleKey: "common.report-col.ticket-total",
1518
+ shortTitleKey: "common.report-col.ticket-total.short",
1519
+ infoTextKey: "common.report-col.ticket-total.info"
1520
+ },
1521
+ timeOpenMins: {
1522
+ titleKey: "common.report-col.time-open-mins",
1523
+ shortTitleKey: "common.report-col.time-open-mins.short",
1524
+ infoTextKey: "common.report-col.time-open-mins.info"
1525
+ },
1526
+ tipPct: {
1527
+ titleKey: "common.report-col.tip-pct",
1528
+ shortTitleKey: "common.report-col.tip-pct.short",
1529
+ infoTextKey: "common.report-col.tip-pct.info"
1530
+ },
1531
+ tipReduction: {
1532
+ titleKey: "common.report-col.tip-reduction",
1533
+ shortTitleKey: "common.report-col.tip-reduction.short",
1534
+ infoTextKey: "common.report-col.tip-reduction.info"
1535
+ },
1536
+ tipShare: {
1537
+ titleKey: "common.report-col.tip-share",
1538
+ shortTitleKey: "common.report-col.tip-share.short",
1539
+ infoTextKey: "common.report-col.tip-share.info"
1540
+ },
1541
+ tips: {
1542
+ titleKey: "common.report-col.tips",
1543
+ shortTitleKey: "common.report-col.tips.short",
1544
+ infoTextKey: "common.report-col.tips.info"
1545
+ },
1546
+ tipsPerHour: {
1547
+ titleKey: "common.report-col.tips-per-hour",
1548
+ shortTitleKey: "common.report-col.tips-per-hour.short",
1549
+ infoTextKey: "common.report-col.tips-per-hour.info"
1550
+ },
1551
+ totalCollected: {
1552
+ titleKey: "common.report-col.total-collected",
1553
+ shortTitleKey: "common.report-col.total-collected.short",
1554
+ infoTextKey: "common.report-col.total-collected.info"
1555
+ },
1556
+ totalItemSales: {
1557
+ titleKey: "common.report-col.total-item-sales",
1558
+ shortTitleKey: "common.report-col.total-item-sales.short",
1559
+ infoTextKey: "common.report-col.total-item-sales.info"
1560
+ },
1561
+ totalModifierSales: {
1562
+ titleKey: "common.report-col.total-modifier-sales",
1563
+ shortTitleKey: "common.report-col.total-modifier-sales.short",
1564
+ infoTextKey: "common.report-col.total-modifier-sales.info"
1565
+ },
1566
+ totalModifierSalesComp: {
1567
+ titleKey: "common.report-col.total-modifier-sales-comp",
1568
+ shortTitleKey: "common.report-col.total-modifier-sales-comp.short",
1569
+ infoTextKey: "common.report-col.total-modifier-sales-comp.info"
1570
+ },
1571
+ totalModifierSalesVar: {
1572
+ titleKey: "common.report-col.total-modifier-sales-var",
1573
+ shortTitleKey: "common.report-col.total-modifier-sales-var.short",
1574
+ infoTextKey: "common.report-col.total-modifier-sales-var.info"
1575
+ },
1576
+ totalModifierSalesVarPct: {
1577
+ titleKey: "common.report-col.total-modifier-sales-var-pct",
1578
+ shortTitleKey: "common.report-col.total-modifier-sales-var-pct.short",
1579
+ infoTextKey: "common.report-col.total-modifier-sales-var-pct.info"
1580
+ },
1581
+ modifierQuantityComp: {
1582
+ titleKey: "common.report-col.modifier-quantity-comp",
1583
+ shortTitleKey: "common.report-col.modifier-quantity-comp.short",
1584
+ infoTextKey: "common.report-col.modifier-quantity-comp.info"
1585
+ },
1586
+ modifierQuantityVar: {
1587
+ titleKey: "common.report-col.modifier-quantity-var",
1588
+ shortTitleKey: "common.report-col.modifier-quantity-var.short",
1589
+ infoTextKey: "common.report-col.modifier-quantity-var.info"
1590
+ },
1591
+ modifierQuantityVarPct: {
1592
+ titleKey: "common.report-col.modifier-quantity-var-pct",
1593
+ shortTitleKey: "common.report-col.modifier-quantity-var-pct.short",
1594
+ infoTextKey: "common.report-col.modifier-quantity-var-pct.info"
1595
+ },
1596
+ itemQuantityComp: {
1597
+ titleKey: "common.report-col.item-quantity-comp",
1598
+ shortTitleKey: "common.report-col.item-quantity-comp.short",
1599
+ infoTextKey: "common.report-col.item-quantity-comp.info"
1600
+ },
1601
+ attachRateComp: {
1602
+ titleKey: "common.report-col.attach-rate-comp",
1603
+ shortTitleKey: "common.report-col.attach-rate-comp.short",
1604
+ infoTextKey: "common.report-col.attach-rate-comp.info"
1605
+ },
1606
+ attachRateVar: {
1607
+ titleKey: "common.report-col.attach-rate-var",
1608
+ shortTitleKey: "common.report-col.attach-rate-var.short",
1609
+ infoTextKey: "common.report-col.attach-rate-var.info"
1610
+ },
1611
+ attachRateVarPct: {
1612
+ titleKey: "common.report-col.attach-rate-var-pct",
1613
+ shortTitleKey: "common.report-col.attach-rate-var-pct.short",
1614
+ infoTextKey: "common.report-col.attach-rate-var-pct.info"
1615
+ },
1616
+ totalReturns: {
1617
+ titleKey: "common.report-col.total-returns",
1618
+ shortTitleKey: "common.report-col.total-returns.short",
1619
+ infoTextKey: "common.report-col.total-returns.info"
1620
+ },
1621
+ totalSales: {
1622
+ titleKey: "common.report-col.total-sales",
1623
+ shortTitleKey: "common.report-col.total-sales.short",
1624
+ infoTextKey: "common.report-col.total-sales.info"
1625
+ },
1626
+ totalTips: {
1627
+ titleKey: "common.report-col.total-tips",
1628
+ shortTitleKey: "common.report-col.total-tips.short",
1629
+ infoTextKey: "common.report-col.total-tips.info"
1630
+ },
1631
+ transactionDate: {
1632
+ titleKey: "common.report-col.transaction-date",
1633
+ shortTitleKey: "common.report-col.transaction-date.short",
1634
+ infoTextKey: "common.report-col.transaction-date.info"
1635
+ },
1636
+ transactionType: {
1637
+ titleKey: "common.report-col.transaction-type",
1638
+ shortTitleKey: "common.report-col.transaction-type.short",
1639
+ infoTextKey: "common.report-col.transaction-type.info"
1640
+ },
1641
+ untaxedSales: {
1642
+ titleKey: "common.report-col.untaxed-sales",
1643
+ shortTitleKey: "common.report-col.untaxed-sales.short",
1644
+ infoTextKey: "common.report-col.untaxed-sales.info"
1645
+ },
1646
+ visa: {
1647
+ titleKey: "common.report-col.visa",
1648
+ shortTitleKey: "common.report-col.visa.short",
1649
+ infoTextKey: "common.report-col.visa.info"
1650
+ },
1651
+ visaReturns: {
1652
+ titleKey: "common.report-col.visa-returns",
1653
+ shortTitleKey: "common.report-col.visa-returns.short",
1654
+ infoTextKey: "common.report-col.visa-returns.info"
1655
+ },
1656
+ paymentsCount: {
1657
+ titleKey: "common.report-col.payments-count",
1658
+ shortTitleKey: "common.report-col.payments-count.short",
1659
+ infoTextKey: "common.report-col.payments-count.info"
1660
+ },
1661
+ paymentsAmount: {
1662
+ titleKey: "common.report-col.payments-amount",
1663
+ shortTitleKey: "common.report-col.payments-amount.short",
1664
+ infoTextKey: "common.report-col.payments-amount.info"
1665
+ },
1666
+ paymentsTotal: {
1667
+ titleKey: "common.report-col.payments-total",
1668
+ shortTitleKey: "common.report-col.payments-total.short",
1669
+ infoTextKey: "common.report-col.payments-total.info"
1670
+ },
1671
+ refundVoidDescription: {
1672
+ titleKey: "common.report-col.refund-void-description",
1673
+ shortTitleKey: "common.report-col.refund-void-description.short",
1674
+ infoTextKey: "common.report-col.refund-void-description.info"
1675
+ },
1676
+ refundVoidCount: {
1677
+ titleKey: "common.report-col.refund-void-count",
1678
+ shortTitleKey: "common.report-col.refund-void-count.short",
1679
+ infoTextKey: "common.report-col.refund-void-count.info"
1680
+ },
1681
+ refundVoidAmount: {
1682
+ titleKey: "common.report-col.refund-void-amount",
1683
+ shortTitleKey: "common.report-col.refund-void-amount.short",
1684
+ infoTextKey: "common.report-col.refund-void-amount.info"
1685
+ },
1686
+ refundVoidPctSales: {
1687
+ titleKey: "common.report-col.refund-void-pct-sales",
1688
+ shortTitleKey: "common.report-col.refund-void-pct-sales.short",
1689
+ infoTextKey: "common.report-col.refund-void-pct-sales.info"
1690
+ },
1691
+ discountName: {
1692
+ titleKey: "common.report-col.discount-name",
1693
+ shortTitleKey: "common.report-col.discount-name.short",
1694
+ infoTextKey: "common.report-col.discount-name.info"
1695
+ },
1696
+ tickets: {
1697
+ titleKey: "common.report-col.tickets",
1698
+ shortTitleKey: "common.report-col.tickets.short",
1699
+ infoTextKey: "common.report-col.tickets.info"
1700
+ },
1701
+ guests: {
1702
+ titleKey: "common.report-col.guests",
1703
+ shortTitleKey: "common.report-col.guests.short",
1704
+ infoTextKey: "common.report-col.guests.info"
1705
+ },
1706
+ ticketAverage: {
1707
+ titleKey: "common.report-col.ticket-average",
1708
+ shortTitleKey: "common.report-col.ticket-average.short",
1709
+ infoTextKey: "common.report-col.ticket-average.info"
1710
+ },
1711
+ guestAverage: {
1712
+ titleKey: "common.report-col.guest-average",
1713
+ shortTitleKey: "common.report-col.guest-average.short",
1714
+ infoTextKey: "common.report-col.guest-average.info"
1715
+ },
1716
+ net: {
1717
+ titleKey: "common.report-col.net",
1718
+ shortTitleKey: "common.report-col.net.short",
1719
+ infoTextKey: "common.report-col.net.info"
1720
+ },
1721
+ type: {
1722
+ titleKey: "common.report-col.type",
1723
+ shortTitleKey: "common.report-col.type.short",
1724
+ infoTextKey: "common.report-col.type.info"
1725
+ }
1726
+ };
1727
+ function getColumnMetadata(key) {
1728
+ return COLUMN_REGISTRY[key];
1729
+ }
1730
+ function getColumnExportHeaderLabel(colTitle, groupTitle) {
1731
+ if (groupTitle) {
1732
+ return `${groupTitle}: ${colTitle}`;
1733
+ }
1734
+ return colTitle;
1735
+ }
1736
+
1737
+ // src/totals.ts
1738
+ var sumField = (rows, field) => rows.reduce((acc, row) => acc + (row[field] ?? 0), 0);
1739
+ var calculateFieldTotal = (rows, field, config) => {
1740
+ const { type } = config;
1741
+ if (!type || type === "string" || type === "date" || type === "time" || type === "boolean" || type === "conditional") {
1742
+ return null;
1743
+ }
1744
+ const calc = config.footerCalculation;
1745
+ if (calc?.type === "none") {
1746
+ return null;
1747
+ }
1748
+ if (calc?.type === "count") {
1749
+ return rows.length;
1750
+ }
1751
+ if (!calc || calc.type === "sum") {
1752
+ return config.columnKey || calc?.type === "sum" ? sumField(rows, field) : 0;
1753
+ }
1754
+ const { numeratorField, denominatorField } = calc;
1755
+ if (!numeratorField || !denominatorField) {
1756
+ return 0;
1757
+ }
1758
+ const num = sumField(rows, numeratorField);
1759
+ const den = sumField(rows, denominatorField);
1760
+ if (calc.type === "percentChange") {
1761
+ return den ? (num - den) / den : 0;
1762
+ }
1763
+ if (calc.type === "variancePercent") {
1764
+ const prior = den - num;
1765
+ return prior ? num / prior : 0;
1766
+ }
1767
+ if (calc.type === "average") {
1768
+ return den > 0 ? num / den : 0;
1769
+ }
1770
+ if (calc.type === "quotientOfDifferences") {
1771
+ const { numeratorAdjustField, denominatorAdjustField } = calc;
1772
+ const numAdj = numeratorAdjustField ? sumField(rows, numeratorAdjustField) : 0;
1773
+ const denAdj = denominatorAdjustField ? sumField(rows, denominatorAdjustField) : 0;
1774
+ const effectiveDen = den - denAdj;
1775
+ return effectiveDen !== 0 ? (num - numAdj) / effectiveDen : 0;
1776
+ }
1777
+ return 0;
1778
+ };
1779
+ var calculateReportTotals = (data, fieldConfig, opts) => {
1780
+ const { labelField, label } = opts;
1781
+ const result = {};
1782
+ for (const [field, config] of Object.entries(fieldConfig)) {
1783
+ const total = calculateFieldTotal(data, field, config);
1784
+ result[field] = total ?? "";
1785
+ }
1786
+ result[labelField] = label;
1787
+ return result;
1788
+ };
1789
+
1790
+ // src/translations/crowdin/skytab-analytics-report-utils/en-GB.ts
1791
+ var enUS = {
1792
+ "common.report-col.fifteen-min-interval": false,
1793
+ "common.report-col.fifteen-min-interval.short": false,
1794
+ "common.report-col.fifteen-min-interval.info": false,
1795
+ "common.report-col.adjusted-tips": false,
1796
+ "common.report-col.adjusted-tips.short": false,
1797
+ "common.report-col.adjusted-tips.info": false,
1798
+ "common.report-col.advantage-program": false,
1799
+ "common.report-col.advantage-program.short": false,
1800
+ "common.report-col.advantage-program.info": false,
1801
+ "common.report-col.amex": false,
1802
+ "common.report-col.amex.short": false,
1803
+ "common.report-col.amex.info": false,
1804
+ "common.report-col.amex-returns": false,
1805
+ "common.report-col.amex-returns.short": false,
1806
+ "common.report-col.amex-returns.info": false,
1807
+ "common.report-col.attach-rate": false,
1808
+ "common.report-col.attach-rate.short": false,
1809
+ "common.report-col.attach-rate.info": false,
1810
+ "common.report-col.auto-gratuity": false,
1811
+ "common.report-col.auto-gratuity.short": false,
1812
+ "common.report-col.auto-gratuity.info": false,
1813
+ "common.report-col.average-gross-price": false,
1814
+ "common.report-col.average-gross-price.short": false,
1815
+ "common.report-col.average-gross-price.info": false,
1816
+ "common.report-col.bank-fees": false,
1817
+ "common.report-col.bank-fees.short": false,
1818
+ "common.report-col.bank-fees.info": false,
1819
+ "common.report-col.batch-amount": false,
1820
+ "common.report-col.batch-amount.short": false,
1821
+ "common.report-col.batch-amount.info": false,
1822
+ "common.report-col.batch-date": false,
1823
+ "common.report-col.batch-date.short": false,
1824
+ "common.report-col.batch-date.info": false,
1825
+ "common.report-col.batch-number": false,
1826
+ "common.report-col.batch-number.short": false,
1827
+ "common.report-col.batch-number.info": false,
1828
+ "common.report-col.clock-in-time": false,
1829
+ "common.report-col.clock-in-time.short": false,
1830
+ "common.report-col.clock-in-time.info": false,
1831
+ "common.report-col.clock-out-time": false,
1832
+ "common.report-col.clock-out-time.short": false,
1833
+ "common.report-col.clock-out-time.info": false,
1834
+ "common.report-col.status": false,
1835
+ "common.report-col.status.short": false,
1836
+ "common.report-col.status.info": false,
1837
+ "common.report-col.last-modified": false,
1838
+ "common.report-col.last-modified.short": false,
1839
+ "common.report-col.last-modified.info": false,
1840
+ "common.report-col.country": false,
1841
+ "common.report-col.country.short": false,
1842
+ "common.report-col.country.info": false,
1843
+ "common.report-col.customer-name": false,
1844
+ "common.report-col.customer-name.short": false,
1845
+ "common.report-col.customer-name.info": false,
1846
+ "common.report-col.date": false,
1847
+ "common.report-col.date.short": false,
1848
+ "common.report-col.date.info": false,
1849
+ "common.report-col.date-close": false,
1850
+ "common.report-col.date-close.short": false,
1851
+ "common.report-col.date-close.info": false,
1852
+ "common.report-col.daypart": false,
1853
+ "common.report-col.daypart.short": false,
1854
+ "common.report-col.daypart.info": false,
1855
+ "common.report-col.debit": false,
1856
+ "common.report-col.debit.short": false,
1857
+ "common.report-col.debit.info": false,
1858
+ "common.report-col.debit-returns": false,
1859
+ "common.report-col.debit-returns.short": false,
1860
+ "common.report-col.debit-returns.info": false,
1861
+ "common.report-col.declared-tips": false,
1862
+ "common.report-col.declared-tips.short": false,
1863
+ "common.report-col.declared-tips.info": false,
1864
+ "common.report-col.department": false,
1865
+ "common.report-col.department.short": false,
1866
+ "common.report-col.department.info": false,
1867
+ "common.report-col.deposit-currency": false,
1868
+ "common.report-col.deposit-currency.short": false,
1869
+ "common.report-col.deposit-currency.info": false,
1870
+ "common.report-col.deposit-date": false,
1871
+ "common.report-col.deposit-date.short": false,
1872
+ "common.report-col.deposit-date.info": false,
1873
+ "common.report-col.discount-amount": false,
1874
+ "common.report-col.discount-amount.short": false,
1875
+ "common.report-col.discount-amount.info": false,
1876
+ "common.report-col.discount-count": false,
1877
+ "common.report-col.discount-count.short": false,
1878
+ "common.report-col.discount-count.info": false,
1879
+ "common.report-col.ticket-count": false,
1880
+ "common.report-col.ticket-count.short": false,
1881
+ "common.report-col.ticket-count.info": false,
1882
+ "common.report-col.item-count": false,
1883
+ "common.report-col.item-count.short": false,
1884
+ "common.report-col.item-count.info": false,
1885
+ "common.report-col.discover": false,
1886
+ "common.report-col.discover.short": false,
1887
+ "common.report-col.discover.info": false,
1888
+ "common.report-col.discover-returns": false,
1889
+ "common.report-col.discover-returns.short": false,
1890
+ "common.report-col.discover-returns.info": false,
1891
+ "common.report-col.ebt": false,
1892
+ "common.report-col.ebt.short": false,
1893
+ "common.report-col.ebt.info": false,
1894
+ "common.report-col.ebt-returns": false,
1895
+ "common.report-col.ebt-returns.short": false,
1896
+ "common.report-col.ebt-returns.info": false,
1897
+ "common.report-col.employee-id": false,
1898
+ "common.report-col.employee-id.short": false,
1899
+ "common.report-col.employee-id.info": false,
1900
+ "common.report-col.employee-job": false,
1901
+ "common.report-col.employee-job.short": false,
1902
+ "common.report-col.employee-job.info": false,
1903
+ "common.report-col.employee-name": false,
1904
+ "common.report-col.employee-name.short": false,
1905
+ "common.report-col.employee-name.info": false,
1906
+ "common.report-col.exempt-taxes": false,
1907
+ "common.report-col.exempt-taxes.short": false,
1908
+ "common.report-col.exempt-taxes.info": false,
1909
+ "common.report-col.exempt-sales": false,
1910
+ "common.report-col.exempt-sales.short": false,
1911
+ "common.report-col.exempt-sales.info": false,
1912
+ "common.report-col.grand-total": false,
1913
+ "common.report-col.grand-total.short": false,
1914
+ "common.report-col.grand-total.info": false,
1915
+ "common.report-col.gross-cash-sales": false,
1916
+ "common.report-col.gross-cash-sales.short": false,
1917
+ "common.report-col.gross-cash-sales.info": false,
1918
+ "common.report-col.gross-credit-sales": false,
1919
+ "common.report-col.gross-credit-sales.short": false,
1920
+ "common.report-col.gross-credit-sales.info": false,
1921
+ "common.report-col.gross-sales": false,
1922
+ "common.report-col.gross-sales.short": false,
1923
+ "common.report-col.gross-sales.info": false,
1924
+ "common.report-col.gross-tips": false,
1925
+ "common.report-col.gross-tips.short": false,
1926
+ "common.report-col.gross-tips.info": false,
1927
+ "common.report-col.guest-count": false,
1928
+ "common.report-col.guest-count.short": false,
1929
+ "common.report-col.guest-count.info": false,
1930
+ "common.report-col.guests-var-lw": false,
1931
+ "common.report-col.guests-var-lw.short": false,
1932
+ "common.report-col.guests-var-lw.info": false,
1933
+ "common.report-col.guests-var-lw-pct": false,
1934
+ "common.report-col.guests-var-lw-pct.short": false,
1935
+ "common.report-col.guests-var-lw-pct.info": false,
1936
+ "common.report-col.guests-var-ly": false,
1937
+ "common.report-col.guests-var-ly.short": false,
1938
+ "common.report-col.guests-var-ly.info": false,
1939
+ "common.report-col.guests-var-ly-pct": false,
1940
+ "common.report-col.guests-var-ly-pct.short": false,
1941
+ "common.report-col.guests-var-ly-pct.info": false,
1942
+ "common.report-col.hour": false,
1943
+ "common.report-col.hour.short": false,
1944
+ "common.report-col.hour.info": false,
1945
+ "common.report-col.hours-worked": false,
1946
+ "common.report-col.hours-worked.short": false,
1947
+ "common.report-col.hours-worked.info": false,
1948
+ "common.report-col.inclusive-tax": false,
1949
+ "common.report-col.inclusive-tax.short": false,
1950
+ "common.report-col.inclusive-tax.info": false,
1951
+ "common.report-col.item-name": false,
1952
+ "common.report-col.item-name.short": false,
1953
+ "common.report-col.item-name.info": false,
1954
+ "common.report-col.item-price": false,
1955
+ "common.report-col.item-price.short": false,
1956
+ "common.report-col.item-price.info": false,
1957
+ "common.report-col.location-city": false,
1958
+ "common.report-col.location-city.short": false,
1959
+ "common.report-col.location-city.info": false,
1960
+ "common.report-col.location-id": false,
1961
+ "common.report-col.location-id.short": false,
1962
+ "common.report-col.location-id.info": false,
1963
+ "common.report-col.location-mid": false,
1964
+ "common.report-col.location-mid.short": false,
1965
+ "common.report-col.location-mid.info": false,
1966
+ "common.report-col.location-name": false,
1967
+ "common.report-col.location-name.short": false,
1968
+ "common.report-col.location-name.info": false,
1969
+ "common.report-col.location-state": false,
1970
+ "common.report-col.location-state.short": false,
1971
+ "common.report-col.location-state.info": false,
1972
+ "common.report-col.mastercard": false,
1973
+ "common.report-col.mastercard.short": false,
1974
+ "common.report-col.mastercard.info": false,
1975
+ "common.report-col.mc-returns": false,
1976
+ "common.report-col.mc-returns.short": false,
1977
+ "common.report-col.mc-returns.info": false,
1978
+ "common.report-col.modifier-name": false,
1979
+ "common.report-col.modifier-name.short": false,
1980
+ "common.report-col.modifier-name.info": false,
1981
+ "common.report-col.modifier-price": false,
1982
+ "common.report-col.modifier-price.short": false,
1983
+ "common.report-col.modifier-price.info": false,
1984
+ "common.report-col.modifier-quantity": false,
1985
+ "common.report-col.modifier-quantity.short": false,
1986
+ "common.report-col.modifier-quantity.info": false,
1987
+ "common.report-col.item-quantity": false,
1988
+ "common.report-col.item-quantity.short": false,
1989
+ "common.report-col.item-quantity.info": false,
1990
+ "common.report-col.modifier-quantity-comp": false,
1991
+ "common.report-col.modifier-quantity-comp.short": false,
1992
+ "common.report-col.modifier-quantity-comp.info": false,
1993
+ "common.report-col.item-quantity-comp": false,
1994
+ "common.report-col.item-quantity-comp.short": false,
1995
+ "common.report-col.item-quantity-comp.info": false,
1996
+ "common.report-col.attach-rate-comp": false,
1997
+ "common.report-col.attach-rate-comp.short": false,
1998
+ "common.report-col.attach-rate-comp.info": false,
1999
+ "common.report-col.total-modifier-sales-var": false,
2000
+ "common.report-col.total-modifier-sales-var.short": false,
2001
+ "common.report-col.total-modifier-sales-var.info": false,
2002
+ "common.report-col.total-modifier-sales-var-pct": false,
2003
+ "common.report-col.total-modifier-sales-var-pct.short": false,
2004
+ "common.report-col.total-modifier-sales-var-pct.info": false,
2005
+ "common.report-col.modifier-quantity-var": false,
2006
+ "common.report-col.modifier-quantity-var.short": false,
2007
+ "common.report-col.modifier-quantity-var.info": false,
2008
+ "common.report-col.modifier-quantity-var-pct": false,
2009
+ "common.report-col.modifier-quantity-var-pct.short": false,
2010
+ "common.report-col.modifier-quantity-var-pct.info": false,
2011
+ "common.report-col.attach-rate-var": false,
2012
+ "common.report-col.attach-rate-var.short": false,
2013
+ "common.report-col.attach-rate-var.info": false,
2014
+ "common.report-col.attach-rate-var-pct": false,
2015
+ "common.report-col.attach-rate-var-pct.short": false,
2016
+ "common.report-col.attach-rate-var-pct.info": false,
2017
+ "common.report-col.total-modifier-sales-comp": false,
2018
+ "common.report-col.total-modifier-sales-comp.short": false,
2019
+ "common.report-col.total-modifier-sales-comp.info": false,
2020
+ "common.report-col.net-sales": false,
2021
+ "common.report-col.net-sales.short": false,
2022
+ "common.report-col.net-sales.info": false,
2023
+ "common.report-col.net-tax-collected": false,
2024
+ "common.report-col.net-tax-collected.short": false,
2025
+ "common.report-col.net-tax-collected.info": false,
2026
+ "common.report-col.net-tips": false,
2027
+ "common.report-col.net-tips.short": false,
2028
+ "common.report-col.net-tips.info": false,
2029
+ "common.report-col.number-of-guests": false,
2030
+ "common.report-col.number-of-guests.short": false,
2031
+ "common.report-col.number-of-guests.info": false,
2032
+ "common.report-col.order-type": false,
2033
+ "common.report-col.order-type.short": false,
2034
+ "common.report-col.order-type.info": false,
2035
+ "common.report-col.payment-type": false,
2036
+ "common.report-col.payment-type.short": false,
2037
+ "common.report-col.payment-type.info": false,
2038
+ "common.report-col.payroll-id": false,
2039
+ "common.report-col.payroll-id.short": false,
2040
+ "common.report-col.payroll-id.info": false,
2041
+ "common.report-col.quantity": false,
2042
+ "common.report-col.quantity.short": false,
2043
+ "common.report-col.quantity.info": false,
2044
+ "common.report-col.reference-number": false,
2045
+ "common.report-col.reference-number.short": false,
2046
+ "common.report-col.reference-number.info": false,
2047
+ "common.report-col.refund-amount": false,
2048
+ "common.report-col.refund-amount.short": false,
2049
+ "common.report-col.refund-amount.info": false,
2050
+ "common.report-col.refunded-tax-amount": false,
2051
+ "common.report-col.refunded-tax-amount.short": false,
2052
+ "common.report-col.refunded-tax-amount.info": false,
2053
+ "common.report-col.revenue-center": false,
2054
+ "common.report-col.revenue-center.short": false,
2055
+ "common.report-col.revenue-center.info": false,
2056
+ "common.report-col.revenue-class": false,
2057
+ "common.report-col.revenue-class.short": false,
2058
+ "common.report-col.revenue-class.info": false,
2059
+ "common.report-col.sales-var-lw": false,
2060
+ "common.report-col.sales-var-lw.short": false,
2061
+ "common.report-col.sales-var-lw.info": false,
2062
+ "common.report-col.sales-var-lw-pct": false,
2063
+ "common.report-col.sales-var-lw-pct.short": false,
2064
+ "common.report-col.sales-var-lw-pct.info": false,
2065
+ "common.report-col.sales-var-ly": false,
2066
+ "common.report-col.sales-var-ly.short": false,
2067
+ "common.report-col.sales-var-ly.info": false,
2068
+ "common.report-col.sales-var-ly-pct": false,
2069
+ "common.report-col.sales-var-ly-pct.short": false,
2070
+ "common.report-col.sales-var-ly-pct.info": false,
2071
+ "common.report-col.sales-mix-by-pct": false,
2072
+ "common.report-col.sales-mix-by-pct.short": false,
2073
+ "common.report-col.sales-mix-by-pct.info": false,
2074
+ "common.report-col.sales-per-guest": false,
2075
+ "common.report-col.sales-per-guest.short": false,
2076
+ "common.report-col.sales-per-guest.info": false,
2077
+ "common.report-col.sales-per-guest-lw": false,
2078
+ "common.report-col.sales-per-guest-lw.short": false,
2079
+ "common.report-col.sales-per-guest-lw.info": false,
2080
+ "common.report-col.sales-per-guest-ly": false,
2081
+ "common.report-col.sales-per-guest-ly.short": false,
2082
+ "common.report-col.sales-per-guest-ly.info": false,
2083
+ "common.report-col.scheduled-shift-end": false,
2084
+ "common.report-col.scheduled-shift-end.short": false,
2085
+ "common.report-col.scheduled-shift-end.info": false,
2086
+ "common.report-col.scheduled-shift-start": false,
2087
+ "common.report-col.scheduled-shift-start.short": false,
2088
+ "common.report-col.scheduled-shift-start.info": false,
2089
+ "common.report-col.settlement-batch-date": false,
2090
+ "common.report-col.settlement-batch-date.short": false,
2091
+ "common.report-col.settlement-batch-date.info": false,
2092
+ "common.report-col.shift-duration-hrs": false,
2093
+ "common.report-col.shift-duration-hrs.short": false,
2094
+ "common.report-col.shift-duration-hrs.info": false,
2095
+ "common.report-col.subtotal": false,
2096
+ "common.report-col.subtotal.short": false,
2097
+ "common.report-col.subtotal.info": false,
2098
+ "common.report-col.tax-collected": false,
2099
+ "common.report-col.tax-collected.short": false,
2100
+ "common.report-col.tax-collected.info": false,
2101
+ "common.report-col.tax-name": false,
2102
+ "common.report-col.tax-name.short": false,
2103
+ "common.report-col.tax-name.info": false,
2104
+ "common.report-col.tax-rate": false,
2105
+ "common.report-col.tax-rate.short": false,
2106
+ "common.report-col.tax-rate.info": false,
2107
+ "common.report-col.taxable-sales": false,
2108
+ "common.report-col.taxable-sales.short": false,
2109
+ "common.report-col.taxable-sales.info": false,
2110
+ "common.report-col.ticket-closed": false,
2111
+ "common.report-col.ticket-closed.short": false,
2112
+ "common.report-col.ticket-closed.info": false,
2113
+ "common.report-col.ticket-fee": false,
2114
+ "common.report-col.ticket-fee.short": false,
2115
+ "common.report-col.ticket-fee.info": false,
2116
+ "common.report-col.ticket-number": false,
2117
+ "common.report-col.ticket-number.short": false,
2118
+ "common.report-col.ticket-number.info": false,
2119
+ "common.report-col.ticket-open": false,
2120
+ "common.report-col.ticket-open.short": false,
2121
+ "common.report-col.ticket-open.info": false,
2122
+ "common.report-col.ticket-total": false,
2123
+ "common.report-col.ticket-total.short": false,
2124
+ "common.report-col.ticket-total.info": false,
2125
+ "common.report-col.time-open-mins": false,
2126
+ "common.report-col.time-open-mins.short": false,
2127
+ "common.report-col.time-open-mins.info": false,
2128
+ "common.report-col.tip-pct": false,
2129
+ "common.report-col.tip-pct.short": false,
2130
+ "common.report-col.tip-pct.info": false,
2131
+ "common.report-col.tip-reduction": false,
2132
+ "common.report-col.tip-reduction.short": false,
2133
+ "common.report-col.tip-reduction.info": false,
2134
+ "common.report-col.tip-share": false,
2135
+ "common.report-col.tip-share.short": false,
2136
+ "common.report-col.tip-share.info": false,
2137
+ "common.report-col.tips": false,
2138
+ "common.report-col.tips.short": false,
2139
+ "common.report-col.tips.info": false,
2140
+ "common.report-col.tips-per-hour": false,
2141
+ "common.report-col.tips-per-hour.short": false,
2142
+ "common.report-col.tips-per-hour.info": false,
2143
+ "common.report-col.total-collected": false,
2144
+ "common.report-col.total-collected.short": false,
2145
+ "common.report-col.total-collected.info": false,
2146
+ "common.report-col.total-item-sales": false,
2147
+ "common.report-col.total-item-sales.short": false,
2148
+ "common.report-col.total-item-sales.info": false,
2149
+ "common.report-col.total-modifier-sales": false,
2150
+ "common.report-col.total-modifier-sales.short": false,
2151
+ "common.report-col.total-modifier-sales.info": false,
2152
+ "common.report-col.total-returns": false,
2153
+ "common.report-col.total-returns.short": false,
2154
+ "common.report-col.total-returns.info": false,
2155
+ "common.report-col.total-sales": false,
2156
+ "common.report-col.total-sales.short": false,
2157
+ "common.report-col.total-sales.info": false,
2158
+ "common.report-col.total-tips": false,
2159
+ "common.report-col.total-tips.short": false,
2160
+ "common.report-col.total-tips.info": false,
2161
+ "common.report-col.transaction-date": false,
2162
+ "common.report-col.transaction-date.short": false,
2163
+ "common.report-col.transaction-date.info": false,
2164
+ "common.report-col.sale-payment-type": false,
2165
+ "common.report-col.sale-payment-type.short": false,
2166
+ "common.report-col.sale-payment-type.info": false,
2167
+ "common.report-col.transaction-type": false,
2168
+ "common.report-col.transaction-type.short": false,
2169
+ "common.report-col.transaction-type.info": false,
2170
+ "common.report-col.untaxed-sales": false,
2171
+ "common.report-col.untaxed-sales.short": false,
2172
+ "common.report-col.untaxed-sales.info": false,
2173
+ "common.report-col.visa": false,
2174
+ "common.report-col.visa.short": false,
2175
+ "common.report-col.visa.info": false,
2176
+ "common.report-col.visa-returns": false,
2177
+ "common.report-col.visa-returns.short": false,
2178
+ "common.report-col.visa-returns.info": false,
2179
+ "common.report-col.payments-count": false,
2180
+ "common.report-col.payments-count.short": false,
2181
+ "common.report-col.payments-count.info": false,
2182
+ "common.report-col.payments-amount": false,
2183
+ "common.report-col.payments-amount.short": false,
2184
+ "common.report-col.payments-amount.info": false,
2185
+ "common.report-col.payments-total": false,
2186
+ "common.report-col.payments-total.short": false,
2187
+ "common.report-col.payments-total.info": false,
2188
+ "common.report-col.refund-void-description": false,
2189
+ "common.report-col.refund-void-description.short": false,
2190
+ "common.report-col.refund-void-description.info": false,
2191
+ "common.report-col.refund-void-count": false,
2192
+ "common.report-col.refund-void-count.short": false,
2193
+ "common.report-col.refund-void-count.info": false,
2194
+ "common.report-col.refund-void-amount": false,
2195
+ "common.report-col.refund-void-amount.short": false,
2196
+ "common.report-col.refund-void-amount.info": false,
2197
+ "common.report-col.refund-void-pct-sales": false,
2198
+ "common.report-col.refund-void-pct-sales.short": false,
2199
+ "common.report-col.refund-void-pct-sales.info": false,
2200
+ "common.report-col.discount-name": false,
2201
+ "common.report-col.discount-name.short": false,
2202
+ "common.report-col.discount-name.info": false,
2203
+ "common.report-col.tickets": false,
2204
+ "common.report-col.tickets.short": false,
2205
+ "common.report-col.tickets.info": false,
2206
+ "common.report-col.guests": false,
2207
+ "common.report-col.guests.short": false,
2208
+ "common.report-col.guests.info": false,
2209
+ "common.report-col.ticket-average": false,
2210
+ "common.report-col.ticket-average.short": false,
2211
+ "common.report-col.ticket-average.info": false,
2212
+ "common.report-col.guest-average": false,
2213
+ "common.report-col.guest-average.short": false,
2214
+ "common.report-col.guest-average.info": false,
2215
+ "common.report-col.net": false,
2216
+ "common.report-col.net.short": false,
2217
+ "common.report-col.net.info": false,
2218
+ "common.report-col.gross-cash-tips": false,
2219
+ "common.report-col.gross-cash-tips.short": false,
2220
+ "common.report-col.gross-cash-tips.info": false,
2221
+ "common.report-col.gross-credit-card-tips": false,
2222
+ "common.report-col.gross-credit-card-tips.short": false,
2223
+ "common.report-col.gross-credit-card-tips.info": false,
2224
+ "common.report-col.type": false,
2225
+ "common.report-col.type.short": false,
2226
+ "common.report-col.type.info": false,
2227
+ "common.report-section.revenue-class": false,
2228
+ "common.report-section.payments": false,
2229
+ "common.report-section.cash": false,
2230
+ "common.report-section.taxes": false,
2231
+ "common.report-section.refunds-voids": false,
2232
+ "common.report-section.discounts": false,
2233
+ "common.report-section.sales-by-day-part": false,
2234
+ "common.report-section.sales-by-order-type": false,
2235
+ "common.report-section.cash-row.cash-payments": false,
2236
+ "common.report-section.cash-row.paid-in-outs": false,
2237
+ "common.report-section.cash-row.gratuities-paid-out": false,
2238
+ "common.report-section.cash-row.cc-tips-paid-out": false,
2239
+ "common.report-section.trends-footer.total-sales": false,
2240
+ "common.report-section.rev-class-footer.tax-total": false,
2241
+ "common.report-section.rev-class-footer.gratuities": false,
2242
+ "common.report-section.rev-class-footer.balance-payments": false,
2243
+ "common.report-section.rev-class-footer.gift-card-sales": false,
2244
+ "common.report-section.rev-class-footer.non-sales-revenue": false,
2245
+ "common.report-section.rev-class-footer.total-accountable": false,
2246
+ "scheduled-reports.period": false,
2247
+ "components.form.field.group-by": false,
2248
+ "components.form.field.last-week": false,
2249
+ "components.form.field.last-year": false,
2250
+ "common.labels.locations": false,
2251
+ "common.labels.yes": false,
2252
+ // Analytic fields
2253
+ "analytics.field.location_id": false,
2254
+ "analytics.field.order_type_id": false,
2255
+ "analytics.field.revenue_center_id": false,
2256
+ "analytics.field.revenue_center_id.all": false,
2257
+ "analytics.field.hour_id": false,
2258
+ "analytics.field.daypart_id": false,
2259
+ "analytics.field.timeslot_id": false,
2260
+ "analytics.field.employee_id": false,
2261
+ "analytics.field.payroll_id": false,
2262
+ "analytics.field.intraday_period_group": false,
2263
+ "analytics.field.item_id": false,
2264
+ "analytics.field.department_id": false,
2265
+ "analytics.field.revenue_class_id": false,
2266
+ "analytics.field.modifier_id": false,
2267
+ // Common labels
2268
+ "table.total": false,
2269
+ "table.groups.sales": false,
2270
+ "table.groups.net-sales": false,
2271
+ "table.groups.guests": false,
2272
+ "table.groups.sales-per-guest": false
2273
+ };
2274
+ var en_GB_default = enUS;
2275
+
2276
+ // src/translations/crowdin/skytab-analytics-report-utils/es-ES.ts
2277
+ var enUS2 = {
2278
+ "common.report-col.fifteen-min-interval": false,
2279
+ "common.report-col.fifteen-min-interval.short": false,
2280
+ "common.report-col.fifteen-min-interval.info": false,
2281
+ "common.report-col.adjusted-tips": false,
2282
+ "common.report-col.adjusted-tips.short": false,
2283
+ "common.report-col.adjusted-tips.info": false,
2284
+ "common.report-col.advantage-program": false,
2285
+ "common.report-col.advantage-program.short": false,
2286
+ "common.report-col.advantage-program.info": false,
2287
+ "common.report-col.amex": false,
2288
+ "common.report-col.amex.short": false,
2289
+ "common.report-col.amex.info": false,
2290
+ "common.report-col.amex-returns": false,
2291
+ "common.report-col.amex-returns.short": false,
2292
+ "common.report-col.amex-returns.info": false,
2293
+ "common.report-col.attach-rate": false,
2294
+ "common.report-col.attach-rate.short": false,
2295
+ "common.report-col.attach-rate.info": false,
2296
+ "common.report-col.auto-gratuity": false,
2297
+ "common.report-col.auto-gratuity.short": false,
2298
+ "common.report-col.auto-gratuity.info": false,
2299
+ "common.report-col.average-gross-price": false,
2300
+ "common.report-col.average-gross-price.short": false,
2301
+ "common.report-col.average-gross-price.info": false,
2302
+ "common.report-col.bank-fees": false,
2303
+ "common.report-col.bank-fees.short": false,
2304
+ "common.report-col.bank-fees.info": false,
2305
+ "common.report-col.batch-amount": false,
2306
+ "common.report-col.batch-amount.short": false,
2307
+ "common.report-col.batch-amount.info": false,
2308
+ "common.report-col.batch-date": false,
2309
+ "common.report-col.batch-date.short": false,
2310
+ "common.report-col.batch-date.info": false,
2311
+ "common.report-col.batch-number": false,
2312
+ "common.report-col.batch-number.short": false,
2313
+ "common.report-col.batch-number.info": false,
2314
+ "common.report-col.clock-in-time": false,
2315
+ "common.report-col.clock-in-time.short": false,
2316
+ "common.report-col.clock-in-time.info": false,
2317
+ "common.report-col.clock-out-time": false,
2318
+ "common.report-col.clock-out-time.short": false,
2319
+ "common.report-col.clock-out-time.info": false,
2320
+ "common.report-col.status": false,
2321
+ "common.report-col.status.short": false,
2322
+ "common.report-col.status.info": false,
2323
+ "common.report-col.last-modified": false,
2324
+ "common.report-col.last-modified.short": false,
2325
+ "common.report-col.last-modified.info": false,
2326
+ "common.report-col.country": false,
2327
+ "common.report-col.country.short": false,
2328
+ "common.report-col.country.info": false,
2329
+ "common.report-col.customer-name": false,
2330
+ "common.report-col.customer-name.short": false,
2331
+ "common.report-col.customer-name.info": false,
2332
+ "common.report-col.date": false,
2333
+ "common.report-col.date.short": false,
2334
+ "common.report-col.date.info": false,
2335
+ "common.report-col.date-close": false,
2336
+ "common.report-col.date-close.short": false,
2337
+ "common.report-col.date-close.info": false,
2338
+ "common.report-col.daypart": false,
2339
+ "common.report-col.daypart.short": false,
2340
+ "common.report-col.daypart.info": false,
2341
+ "common.report-col.debit": false,
2342
+ "common.report-col.debit.short": false,
2343
+ "common.report-col.debit.info": false,
2344
+ "common.report-col.debit-returns": false,
2345
+ "common.report-col.debit-returns.short": false,
2346
+ "common.report-col.debit-returns.info": false,
2347
+ "common.report-col.declared-tips": false,
2348
+ "common.report-col.declared-tips.short": false,
2349
+ "common.report-col.declared-tips.info": false,
2350
+ "common.report-col.department": false,
2351
+ "common.report-col.department.short": false,
2352
+ "common.report-col.department.info": false,
2353
+ "common.report-col.deposit-currency": false,
2354
+ "common.report-col.deposit-currency.short": false,
2355
+ "common.report-col.deposit-currency.info": false,
2356
+ "common.report-col.deposit-date": false,
2357
+ "common.report-col.deposit-date.short": false,
2358
+ "common.report-col.deposit-date.info": false,
2359
+ "common.report-col.discount-amount": false,
2360
+ "common.report-col.discount-amount.short": false,
2361
+ "common.report-col.discount-amount.info": false,
2362
+ "common.report-col.discount-count": false,
2363
+ "common.report-col.discount-count.short": false,
2364
+ "common.report-col.discount-count.info": false,
2365
+ "common.report-col.ticket-count": false,
2366
+ "common.report-col.ticket-count.short": false,
2367
+ "common.report-col.ticket-count.info": false,
2368
+ "common.report-col.item-count": false,
2369
+ "common.report-col.item-count.short": false,
2370
+ "common.report-col.item-count.info": false,
2371
+ "common.report-col.discover": false,
2372
+ "common.report-col.discover.short": false,
2373
+ "common.report-col.discover.info": false,
2374
+ "common.report-col.discover-returns": false,
2375
+ "common.report-col.discover-returns.short": false,
2376
+ "common.report-col.discover-returns.info": false,
2377
+ "common.report-col.ebt": false,
2378
+ "common.report-col.ebt.short": false,
2379
+ "common.report-col.ebt.info": false,
2380
+ "common.report-col.ebt-returns": false,
2381
+ "common.report-col.ebt-returns.short": false,
2382
+ "common.report-col.ebt-returns.info": false,
2383
+ "common.report-col.employee-id": false,
2384
+ "common.report-col.employee-id.short": false,
2385
+ "common.report-col.employee-id.info": false,
2386
+ "common.report-col.employee-job": false,
2387
+ "common.report-col.employee-job.short": false,
2388
+ "common.report-col.employee-job.info": false,
2389
+ "common.report-col.employee-name": false,
2390
+ "common.report-col.employee-name.short": false,
2391
+ "common.report-col.employee-name.info": false,
2392
+ "common.report-col.exempt-taxes": false,
2393
+ "common.report-col.exempt-taxes.short": false,
2394
+ "common.report-col.exempt-taxes.info": false,
2395
+ "common.report-col.exempt-sales": false,
2396
+ "common.report-col.exempt-sales.short": false,
2397
+ "common.report-col.exempt-sales.info": false,
2398
+ "common.report-col.grand-total": false,
2399
+ "common.report-col.grand-total.short": false,
2400
+ "common.report-col.grand-total.info": false,
2401
+ "common.report-col.gross-cash-sales": false,
2402
+ "common.report-col.gross-cash-sales.short": false,
2403
+ "common.report-col.gross-cash-sales.info": false,
2404
+ "common.report-col.gross-credit-sales": false,
2405
+ "common.report-col.gross-credit-sales.short": false,
2406
+ "common.report-col.gross-credit-sales.info": false,
2407
+ "common.report-col.gross-sales": false,
2408
+ "common.report-col.gross-sales.short": false,
2409
+ "common.report-col.gross-sales.info": false,
2410
+ "common.report-col.gross-tips": false,
2411
+ "common.report-col.gross-tips.short": false,
2412
+ "common.report-col.gross-tips.info": false,
2413
+ "common.report-col.guest-count": false,
2414
+ "common.report-col.guest-count.short": false,
2415
+ "common.report-col.guest-count.info": false,
2416
+ "common.report-col.guests-var-lw": false,
2417
+ "common.report-col.guests-var-lw.short": false,
2418
+ "common.report-col.guests-var-lw.info": false,
2419
+ "common.report-col.guests-var-lw-pct": false,
2420
+ "common.report-col.guests-var-lw-pct.short": false,
2421
+ "common.report-col.guests-var-lw-pct.info": false,
2422
+ "common.report-col.guests-var-ly": false,
2423
+ "common.report-col.guests-var-ly.short": false,
2424
+ "common.report-col.guests-var-ly.info": false,
2425
+ "common.report-col.guests-var-ly-pct": false,
2426
+ "common.report-col.guests-var-ly-pct.short": false,
2427
+ "common.report-col.guests-var-ly-pct.info": false,
2428
+ "common.report-col.hour": false,
2429
+ "common.report-col.hour.short": false,
2430
+ "common.report-col.hour.info": false,
2431
+ "common.report-col.hours-worked": false,
2432
+ "common.report-col.hours-worked.short": false,
2433
+ "common.report-col.hours-worked.info": false,
2434
+ "common.report-col.inclusive-tax": false,
2435
+ "common.report-col.inclusive-tax.short": false,
2436
+ "common.report-col.inclusive-tax.info": false,
2437
+ "common.report-col.item-name": false,
2438
+ "common.report-col.item-name.short": false,
2439
+ "common.report-col.item-name.info": false,
2440
+ "common.report-col.item-price": false,
2441
+ "common.report-col.item-price.short": false,
2442
+ "common.report-col.item-price.info": false,
2443
+ "common.report-col.location-city": false,
2444
+ "common.report-col.location-city.short": false,
2445
+ "common.report-col.location-city.info": false,
2446
+ "common.report-col.location-id": false,
2447
+ "common.report-col.location-id.short": false,
2448
+ "common.report-col.location-id.info": false,
2449
+ "common.report-col.location-mid": false,
2450
+ "common.report-col.location-mid.short": false,
2451
+ "common.report-col.location-mid.info": false,
2452
+ "common.report-col.location-name": false,
2453
+ "common.report-col.location-name.short": false,
2454
+ "common.report-col.location-name.info": false,
2455
+ "common.report-col.location-state": false,
2456
+ "common.report-col.location-state.short": false,
2457
+ "common.report-col.location-state.info": false,
2458
+ "common.report-col.mastercard": false,
2459
+ "common.report-col.mastercard.short": false,
2460
+ "common.report-col.mastercard.info": false,
2461
+ "common.report-col.mc-returns": false,
2462
+ "common.report-col.mc-returns.short": false,
2463
+ "common.report-col.mc-returns.info": false,
2464
+ "common.report-col.modifier-name": false,
2465
+ "common.report-col.modifier-name.short": false,
2466
+ "common.report-col.modifier-name.info": false,
2467
+ "common.report-col.modifier-price": false,
2468
+ "common.report-col.modifier-price.short": false,
2469
+ "common.report-col.modifier-price.info": false,
2470
+ "common.report-col.modifier-quantity": false,
2471
+ "common.report-col.modifier-quantity.short": false,
2472
+ "common.report-col.modifier-quantity.info": false,
2473
+ "common.report-col.item-quantity": false,
2474
+ "common.report-col.item-quantity.short": false,
2475
+ "common.report-col.item-quantity.info": false,
2476
+ "common.report-col.modifier-quantity-comp": false,
2477
+ "common.report-col.modifier-quantity-comp.short": false,
2478
+ "common.report-col.modifier-quantity-comp.info": false,
2479
+ "common.report-col.item-quantity-comp": false,
2480
+ "common.report-col.item-quantity-comp.short": false,
2481
+ "common.report-col.item-quantity-comp.info": false,
2482
+ "common.report-col.attach-rate-comp": false,
2483
+ "common.report-col.attach-rate-comp.short": false,
2484
+ "common.report-col.attach-rate-comp.info": false,
2485
+ "common.report-col.total-modifier-sales-var": false,
2486
+ "common.report-col.total-modifier-sales-var.short": false,
2487
+ "common.report-col.total-modifier-sales-var.info": false,
2488
+ "common.report-col.total-modifier-sales-var-pct": false,
2489
+ "common.report-col.total-modifier-sales-var-pct.short": false,
2490
+ "common.report-col.total-modifier-sales-var-pct.info": false,
2491
+ "common.report-col.modifier-quantity-var": false,
2492
+ "common.report-col.modifier-quantity-var.short": false,
2493
+ "common.report-col.modifier-quantity-var.info": false,
2494
+ "common.report-col.modifier-quantity-var-pct": false,
2495
+ "common.report-col.modifier-quantity-var-pct.short": false,
2496
+ "common.report-col.modifier-quantity-var-pct.info": false,
2497
+ "common.report-col.attach-rate-var": false,
2498
+ "common.report-col.attach-rate-var.short": false,
2499
+ "common.report-col.attach-rate-var.info": false,
2500
+ "common.report-col.attach-rate-var-pct": false,
2501
+ "common.report-col.attach-rate-var-pct.short": false,
2502
+ "common.report-col.attach-rate-var-pct.info": false,
2503
+ "common.report-col.total-modifier-sales-comp": false,
2504
+ "common.report-col.total-modifier-sales-comp.short": false,
2505
+ "common.report-col.total-modifier-sales-comp.info": false,
2506
+ "common.report-col.net-sales": false,
2507
+ "common.report-col.net-sales.short": false,
2508
+ "common.report-col.net-sales.info": false,
2509
+ "common.report-col.net-tax-collected": false,
2510
+ "common.report-col.net-tax-collected.short": false,
2511
+ "common.report-col.net-tax-collected.info": false,
2512
+ "common.report-col.net-tips": false,
2513
+ "common.report-col.net-tips.short": false,
2514
+ "common.report-col.net-tips.info": false,
2515
+ "common.report-col.number-of-guests": false,
2516
+ "common.report-col.number-of-guests.short": false,
2517
+ "common.report-col.number-of-guests.info": false,
2518
+ "common.report-col.order-type": false,
2519
+ "common.report-col.order-type.short": false,
2520
+ "common.report-col.order-type.info": false,
2521
+ "common.report-col.payment-type": false,
2522
+ "common.report-col.payment-type.short": false,
2523
+ "common.report-col.payment-type.info": false,
2524
+ "common.report-col.payroll-id": false,
2525
+ "common.report-col.payroll-id.short": false,
2526
+ "common.report-col.payroll-id.info": false,
2527
+ "common.report-col.quantity": false,
2528
+ "common.report-col.quantity.short": false,
2529
+ "common.report-col.quantity.info": false,
2530
+ "common.report-col.reference-number": false,
2531
+ "common.report-col.reference-number.short": false,
2532
+ "common.report-col.reference-number.info": false,
2533
+ "common.report-col.refund-amount": false,
2534
+ "common.report-col.refund-amount.short": false,
2535
+ "common.report-col.refund-amount.info": false,
2536
+ "common.report-col.refunded-tax-amount": false,
2537
+ "common.report-col.refunded-tax-amount.short": false,
2538
+ "common.report-col.refunded-tax-amount.info": false,
2539
+ "common.report-col.revenue-center": false,
2540
+ "common.report-col.revenue-center.short": false,
2541
+ "common.report-col.revenue-center.info": false,
2542
+ "common.report-col.revenue-class": false,
2543
+ "common.report-col.revenue-class.short": false,
2544
+ "common.report-col.revenue-class.info": false,
2545
+ "common.report-col.sales-var-lw": false,
2546
+ "common.report-col.sales-var-lw.short": false,
2547
+ "common.report-col.sales-var-lw.info": false,
2548
+ "common.report-col.sales-var-lw-pct": false,
2549
+ "common.report-col.sales-var-lw-pct.short": false,
2550
+ "common.report-col.sales-var-lw-pct.info": false,
2551
+ "common.report-col.sales-var-ly": false,
2552
+ "common.report-col.sales-var-ly.short": false,
2553
+ "common.report-col.sales-var-ly.info": false,
2554
+ "common.report-col.sales-var-ly-pct": false,
2555
+ "common.report-col.sales-var-ly-pct.short": false,
2556
+ "common.report-col.sales-var-ly-pct.info": false,
2557
+ "common.report-col.sales-mix-by-pct": false,
2558
+ "common.report-col.sales-mix-by-pct.short": false,
2559
+ "common.report-col.sales-mix-by-pct.info": false,
2560
+ "common.report-col.sales-per-guest": false,
2561
+ "common.report-col.sales-per-guest.short": false,
2562
+ "common.report-col.sales-per-guest.info": false,
2563
+ "common.report-col.sales-per-guest-lw": false,
2564
+ "common.report-col.sales-per-guest-lw.short": false,
2565
+ "common.report-col.sales-per-guest-lw.info": false,
2566
+ "common.report-col.sales-per-guest-ly": false,
2567
+ "common.report-col.sales-per-guest-ly.short": false,
2568
+ "common.report-col.sales-per-guest-ly.info": false,
2569
+ "common.report-col.scheduled-shift-end": false,
2570
+ "common.report-col.scheduled-shift-end.short": false,
2571
+ "common.report-col.scheduled-shift-end.info": false,
2572
+ "common.report-col.scheduled-shift-start": false,
2573
+ "common.report-col.scheduled-shift-start.short": false,
2574
+ "common.report-col.scheduled-shift-start.info": false,
2575
+ "common.report-col.settlement-batch-date": false,
2576
+ "common.report-col.settlement-batch-date.short": false,
2577
+ "common.report-col.settlement-batch-date.info": false,
2578
+ "common.report-col.shift-duration-hrs": false,
2579
+ "common.report-col.shift-duration-hrs.short": false,
2580
+ "common.report-col.shift-duration-hrs.info": false,
2581
+ "common.report-col.subtotal": false,
2582
+ "common.report-col.subtotal.short": false,
2583
+ "common.report-col.subtotal.info": false,
2584
+ "common.report-col.tax-collected": false,
2585
+ "common.report-col.tax-collected.short": false,
2586
+ "common.report-col.tax-collected.info": false,
2587
+ "common.report-col.tax-name": false,
2588
+ "common.report-col.tax-name.short": false,
2589
+ "common.report-col.tax-name.info": false,
2590
+ "common.report-col.tax-rate": false,
2591
+ "common.report-col.tax-rate.short": false,
2592
+ "common.report-col.tax-rate.info": false,
2593
+ "common.report-col.taxable-sales": false,
2594
+ "common.report-col.taxable-sales.short": false,
2595
+ "common.report-col.taxable-sales.info": false,
2596
+ "common.report-col.ticket-closed": false,
2597
+ "common.report-col.ticket-closed.short": false,
2598
+ "common.report-col.ticket-closed.info": false,
2599
+ "common.report-col.ticket-fee": false,
2600
+ "common.report-col.ticket-fee.short": false,
2601
+ "common.report-col.ticket-fee.info": false,
2602
+ "common.report-col.ticket-number": false,
2603
+ "common.report-col.ticket-number.short": false,
2604
+ "common.report-col.ticket-number.info": false,
2605
+ "common.report-col.ticket-open": false,
2606
+ "common.report-col.ticket-open.short": false,
2607
+ "common.report-col.ticket-open.info": false,
2608
+ "common.report-col.ticket-total": false,
2609
+ "common.report-col.ticket-total.short": false,
2610
+ "common.report-col.ticket-total.info": false,
2611
+ "common.report-col.time-open-mins": false,
2612
+ "common.report-col.time-open-mins.short": false,
2613
+ "common.report-col.time-open-mins.info": false,
2614
+ "common.report-col.tip-pct": false,
2615
+ "common.report-col.tip-pct.short": false,
2616
+ "common.report-col.tip-pct.info": false,
2617
+ "common.report-col.tip-reduction": false,
2618
+ "common.report-col.tip-reduction.short": false,
2619
+ "common.report-col.tip-reduction.info": false,
2620
+ "common.report-col.tip-share": false,
2621
+ "common.report-col.tip-share.short": false,
2622
+ "common.report-col.tip-share.info": false,
2623
+ "common.report-col.tips": false,
2624
+ "common.report-col.tips.short": false,
2625
+ "common.report-col.tips.info": false,
2626
+ "common.report-col.tips-per-hour": false,
2627
+ "common.report-col.tips-per-hour.short": false,
2628
+ "common.report-col.tips-per-hour.info": false,
2629
+ "common.report-col.total-collected": false,
2630
+ "common.report-col.total-collected.short": false,
2631
+ "common.report-col.total-collected.info": false,
2632
+ "common.report-col.total-item-sales": false,
2633
+ "common.report-col.total-item-sales.short": false,
2634
+ "common.report-col.total-item-sales.info": false,
2635
+ "common.report-col.total-modifier-sales": false,
2636
+ "common.report-col.total-modifier-sales.short": false,
2637
+ "common.report-col.total-modifier-sales.info": false,
2638
+ "common.report-col.total-returns": false,
2639
+ "common.report-col.total-returns.short": false,
2640
+ "common.report-col.total-returns.info": false,
2641
+ "common.report-col.total-sales": false,
2642
+ "common.report-col.total-sales.short": false,
2643
+ "common.report-col.total-sales.info": false,
2644
+ "common.report-col.total-tips": false,
2645
+ "common.report-col.total-tips.short": false,
2646
+ "common.report-col.total-tips.info": false,
2647
+ "common.report-col.transaction-date": false,
2648
+ "common.report-col.transaction-date.short": false,
2649
+ "common.report-col.transaction-date.info": false,
2650
+ "common.report-col.sale-payment-type": false,
2651
+ "common.report-col.sale-payment-type.short": false,
2652
+ "common.report-col.sale-payment-type.info": false,
2653
+ "common.report-col.transaction-type": false,
2654
+ "common.report-col.transaction-type.short": false,
2655
+ "common.report-col.transaction-type.info": false,
2656
+ "common.report-col.untaxed-sales": false,
2657
+ "common.report-col.untaxed-sales.short": false,
2658
+ "common.report-col.untaxed-sales.info": false,
2659
+ "common.report-col.visa": false,
2660
+ "common.report-col.visa.short": false,
2661
+ "common.report-col.visa.info": false,
2662
+ "common.report-col.visa-returns": false,
2663
+ "common.report-col.visa-returns.short": false,
2664
+ "common.report-col.visa-returns.info": false,
2665
+ "common.report-col.payments-count": false,
2666
+ "common.report-col.payments-count.short": false,
2667
+ "common.report-col.payments-count.info": false,
2668
+ "common.report-col.payments-amount": false,
2669
+ "common.report-col.payments-amount.short": false,
2670
+ "common.report-col.payments-amount.info": false,
2671
+ "common.report-col.payments-total": false,
2672
+ "common.report-col.payments-total.short": false,
2673
+ "common.report-col.payments-total.info": false,
2674
+ "common.report-col.refund-void-description": false,
2675
+ "common.report-col.refund-void-description.short": false,
2676
+ "common.report-col.refund-void-description.info": false,
2677
+ "common.report-col.refund-void-count": false,
2678
+ "common.report-col.refund-void-count.short": false,
2679
+ "common.report-col.refund-void-count.info": false,
2680
+ "common.report-col.refund-void-amount": false,
2681
+ "common.report-col.refund-void-amount.short": false,
2682
+ "common.report-col.refund-void-amount.info": false,
2683
+ "common.report-col.refund-void-pct-sales": false,
2684
+ "common.report-col.refund-void-pct-sales.short": false,
2685
+ "common.report-col.refund-void-pct-sales.info": false,
2686
+ "common.report-col.discount-name": false,
2687
+ "common.report-col.discount-name.short": false,
2688
+ "common.report-col.discount-name.info": false,
2689
+ "common.report-col.tickets": false,
2690
+ "common.report-col.tickets.short": false,
2691
+ "common.report-col.tickets.info": false,
2692
+ "common.report-col.guests": false,
2693
+ "common.report-col.guests.short": false,
2694
+ "common.report-col.guests.info": false,
2695
+ "common.report-col.ticket-average": false,
2696
+ "common.report-col.ticket-average.short": false,
2697
+ "common.report-col.ticket-average.info": false,
2698
+ "common.report-col.guest-average": false,
2699
+ "common.report-col.guest-average.short": false,
2700
+ "common.report-col.guest-average.info": false,
2701
+ "common.report-col.net": false,
2702
+ "common.report-col.net.short": false,
2703
+ "common.report-col.net.info": false,
2704
+ "common.report-col.gross-cash-tips": false,
2705
+ "common.report-col.gross-cash-tips.short": false,
2706
+ "common.report-col.gross-cash-tips.info": false,
2707
+ "common.report-col.gross-credit-card-tips": false,
2708
+ "common.report-col.gross-credit-card-tips.short": false,
2709
+ "common.report-col.gross-credit-card-tips.info": false,
2710
+ "common.report-col.type": false,
2711
+ "common.report-col.type.short": false,
2712
+ "common.report-col.type.info": false,
2713
+ "common.report-section.revenue-class": false,
2714
+ "common.report-section.payments": false,
2715
+ "common.report-section.cash": false,
2716
+ "common.report-section.taxes": false,
2717
+ "common.report-section.refunds-voids": false,
2718
+ "common.report-section.discounts": false,
2719
+ "common.report-section.sales-by-day-part": false,
2720
+ "common.report-section.sales-by-order-type": false,
2721
+ "common.report-section.cash-row.cash-payments": false,
2722
+ "common.report-section.cash-row.paid-in-outs": false,
2723
+ "common.report-section.cash-row.gratuities-paid-out": false,
2724
+ "common.report-section.cash-row.cc-tips-paid-out": false,
2725
+ "common.report-section.trends-footer.total-sales": false,
2726
+ "common.report-section.rev-class-footer.tax-total": false,
2727
+ "common.report-section.rev-class-footer.gratuities": false,
2728
+ "common.report-section.rev-class-footer.balance-payments": false,
2729
+ "common.report-section.rev-class-footer.gift-card-sales": false,
2730
+ "common.report-section.rev-class-footer.non-sales-revenue": false,
2731
+ "common.report-section.rev-class-footer.total-accountable": false,
2732
+ "scheduled-reports.period": false,
2733
+ "components.form.field.group-by": false,
2734
+ "components.form.field.last-week": false,
2735
+ "components.form.field.last-year": false,
2736
+ "common.labels.locations": false,
2737
+ "common.labels.yes": false,
2738
+ // Analytic fields
2739
+ "analytics.field.location_id": false,
2740
+ "analytics.field.order_type_id": false,
2741
+ "analytics.field.revenue_center_id": false,
2742
+ "analytics.field.revenue_center_id.all": false,
2743
+ "analytics.field.hour_id": false,
2744
+ "analytics.field.daypart_id": false,
2745
+ "analytics.field.timeslot_id": false,
2746
+ "analytics.field.employee_id": false,
2747
+ "analytics.field.payroll_id": false,
2748
+ "analytics.field.intraday_period_group": false,
2749
+ "analytics.field.item_id": false,
2750
+ "analytics.field.department_id": false,
2751
+ "analytics.field.revenue_class_id": false,
2752
+ "analytics.field.modifier_id": false,
2753
+ // Common labels
2754
+ "table.total": false,
2755
+ "table.groups.sales": false,
2756
+ "table.groups.net-sales": false,
2757
+ "table.groups.guests": false,
2758
+ "table.groups.sales-per-guest": false
2759
+ };
2760
+ var es_ES_default = enUS2;
2761
+
2762
+ // src/translations/en-US.ts
2763
+ var enUS3 = {
2764
+ "common.report-col.fifteen-min-interval": "15 Min Interval",
2765
+ "common.report-col.fifteen-min-interval.short": "15-Min Int",
2766
+ "common.report-col.fifteen-min-interval.info": "Time window (15 minutes) when the activity occurred",
2767
+ "common.report-col.adjusted-tips": "Adjusted Tips",
2768
+ "common.report-col.adjusted-tips.short": "Adj Tips",
2769
+ "common.report-col.adjusted-tips.info": "Tips that were corrected or modified after the original entry",
2770
+ "common.report-col.advantage-program": "Advantage Program",
2771
+ "common.report-col.advantage-program.short": "Adv Program",
2772
+ "common.report-col.advantage-program.info": "Transaction amount related to advantage program",
2773
+ "common.report-col.amex": "Amex",
2774
+ "common.report-col.amex.short": "Amex",
2775
+ "common.report-col.amex.info": "Total sales processed using American Express cards",
2776
+ "common.report-col.amex-returns": "Amex Returns",
2777
+ "common.report-col.amex-returns.short": "Amex Rtn",
2778
+ "common.report-col.amex-returns.info": "The total value of refunds issued to American Express cardholders",
2779
+ "common.report-col.attach-rate": "Attach Rate",
2780
+ "common.report-col.attach-rate.short": "Attach Rate",
2781
+ "common.report-col.attach-rate.info": "% of orders that include this item or add-on",
2782
+ "common.report-col.auto-gratuity": "Auto Gratuity",
2783
+ "common.report-col.auto-gratuity.short": "Auto Gratuity",
2784
+ "common.report-col.auto-gratuity.info": "Automatically applied gratuity added to a guest check",
2785
+ "common.report-col.average-gross-price": "Average Gross Price",
2786
+ "common.report-col.average-gross-price.short": "Avg Gross",
2787
+ "common.report-col.average-gross-price.info": "Average price charged per item before discounts, tax, or tips",
2788
+ "common.report-col.bank-fees": "Bank Fees",
2789
+ "common.report-col.bank-fees.short": "Bank Fees",
2790
+ "common.report-col.bank-fees.info": "Fees deducted by the bank or processor, including processing, interchange, or service fees",
2791
+ "common.report-col.batch-amount": "Batch Amount",
2792
+ "common.report-col.batch-amount.short": "Batch Amt",
2793
+ "common.report-col.batch-amount.info": "Total amount settled in the closed batch",
2794
+ "common.report-col.batch-date": "Batch Date",
2795
+ "common.report-col.batch-date.short": "Batch Date",
2796
+ "common.report-col.batch-date.info": "Date the batch was settled with the processor",
2797
+ "common.report-col.batch-number": "Batch Number",
2798
+ "common.report-col.batch-number.short": "Batch No",
2799
+ "common.report-col.batch-number.info": "The system-generated number used to track this batch of transactions",
2800
+ "common.report-col.clock-in-time": "Clock-In Time",
2801
+ "common.report-col.clock-in-time.short": "In Time",
2802
+ "common.report-col.clock-in-time.info": "Actual time the employee clocked in",
2803
+ "common.report-col.clock-out-time": "Clock-Out Time",
2804
+ "common.report-col.clock-out-time.short": "Out Time",
2805
+ "common.report-col.clock-out-time.info": "Actual time the employee clocked out",
2806
+ "common.report-col.status": "Status",
2807
+ "common.report-col.status.short": "Status",
2808
+ "common.report-col.status.info": "Timecard status for the shift entry.",
2809
+ "common.report-col.last-modified": "Last Updated/Modified",
2810
+ "common.report-col.last-modified.short": "Last Updated",
2811
+ "common.report-col.last-modified.info": "Timestamp when this timecard entry was last updated or modified.",
2812
+ "common.report-col.country": "Country",
2813
+ "common.report-col.country.short": "Country",
2814
+ "common.report-col.country.info": "Country where the transaction was processed",
2815
+ "common.report-col.customer-name": "Customer Name",
2816
+ "common.report-col.customer-name.short": "Customer",
2817
+ "common.report-col.customer-name.info": "Name of the customer associated with the ticket",
2818
+ "common.report-col.date": "Business Date",
2819
+ "common.report-col.date.short": "Business Date",
2820
+ "common.report-col.date.info": "Date the transaction or sale occurred based on the business date of the Location",
2821
+ "common.report-col.date-close": "Date Close",
2822
+ "common.report-col.date-close.short": "Date Close",
2823
+ "common.report-col.date-close.info": "Date when the ticket was completed and closed",
2824
+ "common.report-col.daypart": "Day Part",
2825
+ "common.report-col.daypart.short": "Day Part",
2826
+ "common.report-col.daypart.info": "Time-of-day category (e.g., Breakfast, Lunch, Dinner)",
2827
+ "common.report-col.debit": "Debit",
2828
+ "common.report-col.debit.short": "Debit",
2829
+ "common.report-col.debit.info": "Total sales paid using debit cards",
2830
+ "common.report-col.debit-returns": "Debit Returns",
2831
+ "common.report-col.debit-returns.short": "Debit Rtn",
2832
+ "common.report-col.debit-returns.info": "Total refunds issued on debit card payments",
2833
+ "common.report-col.declared-tips": "Declared Tips",
2834
+ "common.report-col.declared-tips.short": "Declared Tips",
2835
+ "common.report-col.declared-tips.info": "Tips manually reported by the employee",
2836
+ "common.report-col.department": "Department",
2837
+ "common.report-col.department.short": "Dept",
2838
+ "common.report-col.department.info": "Menu category the item belongs to",
2839
+ "common.report-col.deposit-currency": "Deposit Currency",
2840
+ "common.report-col.deposit-currency.short": "Dep Currency",
2841
+ "common.report-col.deposit-currency.info": "The currency your deposits are paid out in",
2842
+ "common.report-col.deposit-date": "Deposit Date",
2843
+ "common.report-col.deposit-date.short": "Dep Date",
2844
+ "common.report-col.deposit-date.info": "The date money was deposited into your bank account",
2845
+ "common.report-col.discount-amount": "Discount Amount",
2846
+ "common.report-col.discount-amount.short": "Discount Amt",
2847
+ "common.report-col.discount-amount.info": "Total amount taken off sales due to discounts",
2848
+ "common.report-col.discount-count": "Discount Count",
2849
+ "common.report-col.discount-count.short": "Disc Count",
2850
+ "common.report-col.discount-count.info": "Total number of discounts applied to orders",
2851
+ "common.report-col.ticket-count": "Ticket Qty",
2852
+ "common.report-col.ticket-count.short": "Ticket Qty",
2853
+ "common.report-col.ticket-count.info": "Count of distinct tickets with this discount",
2854
+ "common.report-col.item-count": "Item Qty",
2855
+ "common.report-col.item-count.short": "Item Qty",
2856
+ "common.report-col.item-count.info": "Total number of discount line items",
2857
+ "common.report-col.discover": "Discover",
2858
+ "common.report-col.discover.short": "Discover",
2859
+ "common.report-col.discover.info": "Total sales processed using Discover cards",
2860
+ "common.report-col.discover-returns": "Discover Returns",
2861
+ "common.report-col.discover-returns.short": "Discover Rtn",
2862
+ "common.report-col.discover-returns.info": "Total refunds given on Discover card payments",
2863
+ "common.report-col.ebt": "EBT",
2864
+ "common.report-col.ebt.short": "EBT",
2865
+ "common.report-col.ebt.info": "Total payments made using EBT",
2866
+ "common.report-col.ebt-returns": "EBT Returns",
2867
+ "common.report-col.ebt-returns.short": "EBT Returns",
2868
+ "common.report-col.ebt-returns.info": "Total refunds issued for EBT payments",
2869
+ "common.report-col.employee-id": "Employee ID",
2870
+ "common.report-col.employee-id.short": "Emp ID",
2871
+ "common.report-col.employee-id.info": "Employee's assigned ID",
2872
+ "common.report-col.employee-job": "Employee Job",
2873
+ "common.report-col.employee-job.short": "Emp Job",
2874
+ "common.report-col.employee-job.info": "Role the employee is performing during the shift",
2875
+ "common.report-col.employee-name": "Employee Name",
2876
+ "common.report-col.employee-name.short": "Emp Name",
2877
+ "common.report-col.employee-name.info": "Employee associated with the transaction or labor entry",
2878
+ "common.report-col.exempt-taxes": "Exempt Taxes",
2879
+ "common.report-col.exempt-taxes.short": "Exempt Taxes",
2880
+ "common.report-col.exempt-taxes.info": "Tax amount that was exempt",
2881
+ "common.report-col.exempt-sales": "Exempt Sales",
2882
+ "common.report-col.exempt-sales.short": "Exempt Sales",
2883
+ "common.report-col.exempt-sales.info": "Total sales that were exempt from taxation",
2884
+ "common.report-col.grand-total": "Grand Total",
2885
+ "common.report-col.grand-total.short": "Grand Total",
2886
+ "common.report-col.grand-total.info": "Total transaction amount, including items, taxes, fees, and gratuity",
2887
+ "common.report-col.gross-cash-sales": "Gross Cash Sales",
2888
+ "common.report-col.gross-cash-sales.short": "Gross Cash",
2889
+ "common.report-col.gross-cash-sales.info": "Total cash sales before discounts, refunds, taxes, or adjustments",
2890
+ "common.report-col.gross-credit-sales": "Gross Credit Sales",
2891
+ "common.report-col.gross-credit-sales.short": "Gross CC",
2892
+ "common.report-col.gross-credit-sales.info": "Total card sales before discounts, refunds, taxes, or adjustments",
2893
+ "common.report-col.gross-sales": "Gross Sales",
2894
+ "common.report-col.gross-sales.short": "Gross Sales",
2895
+ "common.report-col.gross-sales.info": "Total item sales before refunds, tax, or tips",
2896
+ "common.report-col.gross-tips": "Gross Tips",
2897
+ "common.report-col.gross-tips.short": "Gross Tips",
2898
+ "common.report-col.gross-tips.info": "Total tips before any deductions or sharing",
2899
+ "common.report-col.guest-count": "Guest Count",
2900
+ "common.report-col.guest-count.short": "Guest Count",
2901
+ "common.report-col.guest-count.info": "Total number of guests served",
2902
+ "common.report-col.guests-var-lw": "Guests \xB1 LW",
2903
+ "common.report-col.guests-var-lw.short": "\xB1 LW",
2904
+ "common.report-col.guests-var-lw.info": "Change in guest count compared to last week",
2905
+ "common.report-col.guests-var-lw-pct": "Guests \xB1 LW %",
2906
+ "common.report-col.guests-var-lw-pct.short": "\xB1 LW %",
2907
+ "common.report-col.guests-var-lw-pct.info": "Percentage change in guests compared to last week",
2908
+ "common.report-col.guests-var-ly": "Guests \xB1 LY",
2909
+ "common.report-col.guests-var-ly.short": "\xB1 LY",
2910
+ "common.report-col.guests-var-ly.info": "Change in guest count compared to last year",
2911
+ "common.report-col.guests-var-ly-pct": "Guests \xB1 LY %",
2912
+ "common.report-col.guests-var-ly-pct.short": "\xB1 LY %",
2913
+ "common.report-col.guests-var-ly-pct.info": "Percentage change in guests compared to last year",
2914
+ "common.report-col.hour": "Hour",
2915
+ "common.report-col.hour.short": "Hour",
2916
+ "common.report-col.hour.info": "Hour of the day the activity occurred",
2917
+ "common.report-col.hours-worked": "Hours Worked",
2918
+ "common.report-col.hours-worked.short": "Hrs Worked",
2919
+ "common.report-col.hours-worked.info": "Total hours worked during the selected period",
2920
+ "common.report-col.inclusive-tax": "Inclusive Tax",
2921
+ "common.report-col.inclusive-tax.short": "Inclusive Tax",
2922
+ "common.report-col.inclusive-tax.info": "Tax already included in the item price",
2923
+ "common.report-col.item-name": "Item Name",
2924
+ "common.report-col.item-name.short": "Item Name",
2925
+ "common.report-col.item-name.info": "Item sold in the transaction",
2926
+ "common.report-col.item-price": "Item Price",
2927
+ "common.report-col.item-price.short": "Item Price",
2928
+ "common.report-col.item-price.info": "Price of one item before discounts, taxes, or customizations",
2929
+ "common.report-col.location-city": "Location City",
2930
+ "common.report-col.location-city.short": "City",
2931
+ "common.report-col.location-city.info": "City of the business location",
2932
+ "common.report-col.location-id": "Location ID",
2933
+ "common.report-col.location-id.short": "Loc ID",
2934
+ "common.report-col.location-id.info": "Unique identifier for the business location",
2935
+ "common.report-col.location-mid": "Location MID",
2936
+ "common.report-col.location-mid.short": "MID",
2937
+ "common.report-col.location-mid.info": "Merchant ID tied to the business location",
2938
+ "common.report-col.location-name": "Location Name",
2939
+ "common.report-col.location-name.short": "Location",
2940
+ "common.report-col.location-name.info": "Name of the business location",
2941
+ "common.report-col.location-state": "Location State",
2942
+ "common.report-col.location-state.short": "State",
2943
+ "common.report-col.location-state.info": "State of the business location",
2944
+ "common.report-col.mastercard": "Mastercard",
2945
+ "common.report-col.mastercard.short": "MC",
2946
+ "common.report-col.mastercard.info": "Total sales processed using Mastercard",
2947
+ "common.report-col.mc-returns": "MC Returns",
2948
+ "common.report-col.mc-returns.short": "MC Returns",
2949
+ "common.report-col.mc-returns.info": "Total refunds issued on Mastercard payments",
2950
+ "common.report-col.modifier-name": "Modifier Name",
2951
+ "common.report-col.modifier-name.short": "Mod Name",
2952
+ "common.report-col.modifier-name.info": "The specific option or customization applied to an item",
2953
+ "common.report-col.modifier-price": "Modifier Price",
2954
+ "common.report-col.modifier-price.short": "Mod Price",
2955
+ "common.report-col.modifier-price.info": "Price of one modifier",
2956
+ "common.report-col.modifier-quantity": "Modifier Quantity",
2957
+ "common.report-col.modifier-quantity.short": "Mod Qty",
2958
+ "common.report-col.modifier-quantity.info": "Number of modifiers added to items on the ticket",
2959
+ "common.report-col.item-quantity": "Item Quantity",
2960
+ "common.report-col.item-quantity.short": "Item Qty",
2961
+ "common.report-col.item-quantity.info": "Total quantity of parent items sold",
2962
+ "common.report-col.modifier-quantity-comp": "Mod Qty (Comparison)",
2963
+ "common.report-col.modifier-quantity-comp.short": "Mod Qty (C)",
2964
+ "common.report-col.modifier-quantity-comp.info": "Modifier quantity for comparison period",
2965
+ "common.report-col.item-quantity-comp": "Item Qty (Comparison)",
2966
+ "common.report-col.item-quantity-comp.short": "Item Qty (C)",
2967
+ "common.report-col.item-quantity-comp.info": "Item quantity for comparison period",
2968
+ "common.report-col.attach-rate-comp": "Attach Rate (Comparison)",
2969
+ "common.report-col.attach-rate-comp.short": "Rate (C)",
2970
+ "common.report-col.attach-rate-comp.info": "Attach rate for comparison period",
2971
+ "common.report-col.total-modifier-sales-var": "Mod Sales Variance",
2972
+ "common.report-col.total-modifier-sales-var.short": "Sales Var",
2973
+ "common.report-col.total-modifier-sales-var.info": "Variance in modifier sales vs comparison period",
2974
+ "common.report-col.total-modifier-sales-var-pct": "Mod Sales Var %",
2975
+ "common.report-col.total-modifier-sales-var-pct.short": "Sales %",
2976
+ "common.report-col.total-modifier-sales-var-pct.info": "Percentage variance in modifier sales",
2977
+ "common.report-col.modifier-quantity-var": "Mod Qty Variance",
2978
+ "common.report-col.modifier-quantity-var.short": "Qty Var",
2979
+ "common.report-col.modifier-quantity-var.info": "Variance in modifier quantity vs comparison period",
2980
+ "common.report-col.modifier-quantity-var-pct": "Mod Qty Var %",
2981
+ "common.report-col.modifier-quantity-var-pct.short": "Qty %",
2982
+ "common.report-col.modifier-quantity-var-pct.info": "Percentage variance in modifier quantity",
2983
+ "common.report-col.attach-rate-var": "Attach Rate Variance",
2984
+ "common.report-col.attach-rate-var.short": "Rate Var",
2985
+ "common.report-col.attach-rate-var.info": "Variance in attach rate vs comparison period",
2986
+ "common.report-col.attach-rate-var-pct": "Attach Rate Var %",
2987
+ "common.report-col.attach-rate-var-pct.short": "Rate %",
2988
+ "common.report-col.attach-rate-var-pct.info": "Percentage variance in attach rate",
2989
+ "common.report-col.total-modifier-sales-comp": "Mod Sales (Comparison)",
2990
+ "common.report-col.total-modifier-sales-comp.short": "Mod (C)",
2991
+ "common.report-col.total-modifier-sales-comp.info": "Modifier sales for comparison period",
2992
+ "common.report-col.net-sales": "Net Sales",
2993
+ "common.report-col.net-sales.short": "Net Sales",
2994
+ "common.report-col.net-sales.info": "Sales amount excluding taxes and tips",
2995
+ "common.report-col.net-tax-collected": "Net Tax Collected",
2996
+ "common.report-col.net-tax-collected.short": "Net Tax",
2997
+ "common.report-col.net-tax-collected.info": "Taxes collected after refunds are deducted",
2998
+ "common.report-col.net-tips": "Net Tips",
2999
+ "common.report-col.net-tips.short": "Net Tips",
3000
+ "common.report-col.net-tips.info": "Gross Tips - Tip Reduction + Tip Share + Adjusted Tips",
3001
+ "common.report-col.number-of-guests": "Number of Guests",
3002
+ "common.report-col.number-of-guests.short": "No Guests",
3003
+ "common.report-col.number-of-guests.info": "Number of guests tied to the transaction",
3004
+ "common.report-col.order-type": "Order Type",
3005
+ "common.report-col.order-type.short": "Order Type",
3006
+ "common.report-col.order-type.info": "How the order was placed",
3007
+ "common.report-col.payment-type": "Payment Type",
3008
+ "common.report-col.payment-type.short": "Pay Type",
3009
+ "common.report-col.payment-type.info": "Method used to pay for the transaction (e.g., cash, credit, gift card)",
3010
+ "common.report-col.payroll-id": "Payroll ID",
3011
+ "common.report-col.payroll-id.short": "Payroll ID",
3012
+ "common.report-col.payroll-id.info": "Employee's Payroll ID",
3013
+ "common.report-col.quantity": "Quantity",
3014
+ "common.report-col.quantity.short": "Quantity",
3015
+ "common.report-col.quantity.info": "Number of items sold",
3016
+ "common.report-col.reference-number": "Reference Number",
3017
+ "common.report-col.reference-number.short": "Ref Number",
3018
+ "common.report-col.reference-number.info": "Reference number used to identify this transaction or record",
3019
+ "common.report-col.refund-amount": "Refund Amount",
3020
+ "common.report-col.refund-amount.short": "Refund Amt",
3021
+ "common.report-col.refund-amount.info": "Total amount refunded to customers",
3022
+ "common.report-col.refunded-tax-amount": "Refunded Tax Amount",
3023
+ "common.report-col.refunded-tax-amount.short": "Refunded Tax",
3024
+ "common.report-col.refunded-tax-amount.info": "Tax portion of refunded transactions",
3025
+ "common.report-col.revenue-center": "Revenue Center",
3026
+ "common.report-col.revenue-center.short": "Rev Ctr",
3027
+ "common.report-col.revenue-center.info": "Area where the sale occurred",
3028
+ "common.report-col.revenue-class": "Revenue Class",
3029
+ "common.report-col.revenue-class.short": "Rev Class",
3030
+ "common.report-col.revenue-class.info": "Category used to group similar types of revenue",
3031
+ "common.report-col.sales-var-lw": "Sales \xB1 LW",
3032
+ "common.report-col.sales-var-lw.short": "\xB1 LW",
3033
+ "common.report-col.sales-var-lw.info": "Change in sales compared to last week",
3034
+ "common.report-col.sales-var-lw-pct": "Sales \xB1 LW %",
3035
+ "common.report-col.sales-var-lw-pct.short": "\xB1 LW %",
3036
+ "common.report-col.sales-var-lw-pct.info": "Percentage change in sales compared to last week",
3037
+ "common.report-col.sales-var-ly": "Sales \xB1 LY",
3038
+ "common.report-col.sales-var-ly.short": "\xB1 LY",
3039
+ "common.report-col.sales-var-ly.info": "Change in sales compared to last year",
3040
+ "common.report-col.sales-var-ly-pct": "Sales \xB1 LY %",
3041
+ "common.report-col.sales-var-ly-pct.short": "\xB1 LY %",
3042
+ "common.report-col.sales-var-ly-pct.info": "Percentage change in sales compared to last year",
3043
+ "common.report-col.sales-mix-by-pct": "Sales Mix By %",
3044
+ "common.report-col.sales-mix-by-pct.short": "Sales Mix %",
3045
+ "common.report-col.sales-mix-by-pct.info": "Percentage of total sales contributed by this item or category",
3046
+ "common.report-col.sales-per-guest": "Sales/Guest",
3047
+ "common.report-col.sales-per-guest.short": "Amt/Guest",
3048
+ "common.report-col.sales-per-guest.info": "Average spend per guest",
3049
+ "common.report-col.sales-per-guest-lw": "Sales/Guest LW",
3050
+ "common.report-col.sales-per-guest-lw.short": "Amt/Guest LW",
3051
+ "common.report-col.sales-per-guest-lw.info": "Average spend per guest last week",
3052
+ "common.report-col.sales-per-guest-ly": "Sales/Guest LY",
3053
+ "common.report-col.sales-per-guest-ly.short": "Amt/Guest LY",
3054
+ "common.report-col.sales-per-guest-ly.info": "Average spend per guest last year",
3055
+ "common.report-col.scheduled-shift-end": "Scheduled Shift End",
3056
+ "common.report-col.scheduled-shift-end.short": "Sch Shift End",
3057
+ "common.report-col.scheduled-shift-end.info": "Planned end time of the shift based on the schedule (not actual clock-out)",
3058
+ "common.report-col.scheduled-shift-start": "Scheduled Shift Start",
3059
+ "common.report-col.scheduled-shift-start.short": "Sch Shift Start",
3060
+ "common.report-col.scheduled-shift-start.info": "Planned start time of the shift based on the schedule (not actual clock-in)",
3061
+ "common.report-col.settlement-batch-date": "Settlement (Batch) Date",
3062
+ "common.report-col.settlement-batch-date.short": "Settle Date",
3063
+ "common.report-col.settlement-batch-date.info": "The date this group of transactions was finalized and sent to the bank for settlement",
3064
+ "common.report-col.shift-duration-hrs": "Shift Duration (hrs)",
3065
+ "common.report-col.shift-duration-hrs.short": "Shift (hrs)",
3066
+ "common.report-col.shift-duration-hrs.info": "Shift Duration in Hours",
3067
+ "common.report-col.subtotal": "Subtotal",
3068
+ "common.report-col.subtotal.short": "Subtotal",
3069
+ "common.report-col.subtotal.info": "Total of items before taxes, fees, and gratuity",
3070
+ "common.report-col.tax-collected": "Tax Collected",
3071
+ "common.report-col.tax-collected.short": "Tax",
3072
+ "common.report-col.tax-collected.info": "Total taxes charged to customers",
3073
+ "common.report-col.tax-name": "Tax Name",
3074
+ "common.report-col.tax-name.short": "Tax Name",
3075
+ "common.report-col.tax-name.info": "Name of the applied tax",
3076
+ "common.report-col.tax-rate": "Tax Rate",
3077
+ "common.report-col.tax-rate.short": "Tax Rate",
3078
+ "common.report-col.tax-rate.info": "Flat Rate or Percentage used to calculate the tax",
3079
+ "common.report-col.taxable-sales": "Taxable Sales",
3080
+ "common.report-col.taxable-sales.short": "Taxable Sales",
3081
+ "common.report-col.taxable-sales.info": "Sales subject to tax",
3082
+ "common.report-col.ticket-closed": "Ticket Closed",
3083
+ "common.report-col.ticket-closed.short": "Tkt Closed",
3084
+ "common.report-col.ticket-closed.info": "Time when the ticket was completed and closed. Based on local calendar date",
3085
+ "common.report-col.ticket-fee": "Ticket Fee",
3086
+ "common.report-col.ticket-fee.short": "Tkt Fee",
3087
+ "common.report-col.ticket-fee.info": "Additional fees applied to the ticket",
3088
+ "common.report-col.ticket-number": "Ticket Number",
3089
+ "common.report-col.ticket-number.short": "Tkt Number",
3090
+ "common.report-col.ticket-number.info": "Unique ID used to identify the ticket or transaction",
3091
+ "common.report-col.ticket-open": "Ticket Open",
3092
+ "common.report-col.ticket-open.short": "Tkt Open",
3093
+ "common.report-col.ticket-open.info": "Time when the ticket was opened. Based on local calendar date",
3094
+ "common.report-col.ticket-total": "Ticket Total",
3095
+ "common.report-col.ticket-total.short": "Tkt Total",
3096
+ "common.report-col.ticket-total.info": "Total amount paid by guests, including sales, taxes, and tips",
3097
+ "common.report-col.time-open-mins": "Time Open (Mins)",
3098
+ "common.report-col.time-open-mins.short": "Open (Mins)",
3099
+ "common.report-col.time-open-mins.info": "Minutes between ticket open and close times",
3100
+ "common.report-col.tip-pct": "Tip %",
3101
+ "common.report-col.tip-pct.short": "Tip %",
3102
+ "common.report-col.tip-pct.info": "Tip % (Total Tips \xF7 Sales Amount)",
3103
+ "common.report-col.tip-reduction": "Tip Reduction",
3104
+ "common.report-col.tip-reduction.short": "Tip Reduction",
3105
+ "common.report-col.tip-reduction.info": "Tips removed due to adjustments or policies",
3106
+ "common.report-col.tip-share": "Tip Share",
3107
+ "common.report-col.tip-share.short": "Tip Share",
3108
+ "common.report-col.tip-share.info": "Tips distributed to other employees",
3109
+ "common.report-col.tips": "Tips",
3110
+ "common.report-col.tips.short": "Tips",
3111
+ "common.report-col.tips.info": "Total tips received for the ticket",
3112
+ "common.report-col.tips-per-hour": "Tips per Hour",
3113
+ "common.report-col.tips-per-hour.short": "Tips per Hour",
3114
+ "common.report-col.tips-per-hour.info": "Total Tips / Hours Worked",
3115
+ "common.report-col.total-collected": "Total Collected",
3116
+ "common.report-col.total-collected.short": "Total",
3117
+ "common.report-col.total-collected.info": "Total amount collected, including taxes, fees, and tips",
3118
+ "common.report-col.total-item-sales": "Total Item Sales",
3119
+ "common.report-col.total-item-sales.short": "Item Sales",
3120
+ "common.report-col.total-item-sales.info": "Average item price \xD7 quantity sold. Total value of the items sold",
3121
+ "common.report-col.total-modifier-sales": "Total Modifier Sales",
3122
+ "common.report-col.total-modifier-sales.short": "Mod Sales",
3123
+ "common.report-col.total-modifier-sales.info": "Average modifier price \xD7 quantity sold. Total value of the modifiers sold",
3124
+ "common.report-col.total-returns": "Total Returns",
3125
+ "common.report-col.total-returns.short": "Returns",
3126
+ "common.report-col.total-returns.info": "Total amount refunded to customers",
3127
+ "common.report-col.total-sales": "Total Sales",
3128
+ "common.report-col.total-sales.short": "Sales",
3129
+ "common.report-col.total-sales.info": "Total sales across all tenders before discounts, refunds, taxes, or adjustments",
3130
+ "common.report-col.total-tips": "Total Tips",
3131
+ "common.report-col.total-tips.short": "Tips",
3132
+ "common.report-col.total-tips.info": "All tips received from customers",
3133
+ "common.report-col.transaction-date": "Transaction Date",
3134
+ "common.report-col.transaction-date.short": "Txn Date",
3135
+ "common.report-col.transaction-date.info": "The date the transaction took place",
3136
+ "common.report-col.sale-payment-type": "Payment Type",
3137
+ "common.report-col.sale-payment-type.short": "Payment Type",
3138
+ "common.report-col.sale-payment-type.info": "The payment method used to close the ticket (e.g. Credit, Other)",
3139
+ "common.report-col.transaction-type": "Transaction Type",
3140
+ "common.report-col.transaction-type.short": "Txn Type",
3141
+ "common.report-col.transaction-type.info": "Shows whether this transaction is a sale, refund, or other adjustment",
3142
+ "common.report-col.untaxed-sales": "Untaxed Sales",
3143
+ "common.report-col.untaxed-sales.short": "Non-Tax",
3144
+ "common.report-col.untaxed-sales.info": "Sales not subject to tax",
3145
+ "common.report-col.visa": "Visa",
3146
+ "common.report-col.visa.short": "Visa",
3147
+ "common.report-col.visa.info": "Total sales processed using Visa cards",
3148
+ "common.report-col.visa-returns": "Visa Returns",
3149
+ "common.report-col.visa-returns.short": "Visa Returns",
3150
+ "common.report-col.visa-returns.info": "Total refunds issued on Visa payments",
3151
+ "common.report-col.payments-count": "Payments Count",
3152
+ "common.report-col.payments-count.short": "Qty",
3153
+ "common.report-col.payments-count.info": "Number of payments",
3154
+ "common.report-col.payments-amount": "Payments Amount",
3155
+ "common.report-col.payments-amount.short": "Amount",
3156
+ "common.report-col.payments-amount.info": "Total payment amount",
3157
+ "common.report-col.payments-total": "Payments Total",
3158
+ "common.report-col.payments-total.short": "Total",
3159
+ "common.report-col.payments-total.info": "Total payments including tips",
3160
+ "common.report-col.refund-void-description": "Description",
3161
+ "common.report-col.refund-void-description.short": "Description",
3162
+ "common.report-col.refund-void-description.info": "Type of refund or void",
3163
+ "common.report-col.refund-void-count": "Refund/Void Count",
3164
+ "common.report-col.refund-void-count.short": "Qty",
3165
+ "common.report-col.refund-void-count.info": "Number of refunds or voids",
3166
+ "common.report-col.refund-void-amount": "Refund/Void Amount",
3167
+ "common.report-col.refund-void-amount.short": "Gross",
3168
+ "common.report-col.refund-void-amount.info": "Total amount of refunds or voids",
3169
+ "common.report-col.refund-void-pct-sales": "Refund/Void % of Sales",
3170
+ "common.report-col.refund-void-pct-sales.short": "% of Sale",
3171
+ "common.report-col.refund-void-pct-sales.info": "Percentage of sales represented by refunds or voids",
3172
+ "common.report-col.discount-name": "Discount Type",
3173
+ "common.report-col.discount-name.short": "Discount Type",
3174
+ "common.report-col.discount-name.info": "Name of the discount applied",
3175
+ "common.report-col.tickets": "Tickets",
3176
+ "common.report-col.tickets.short": "Tickets",
3177
+ "common.report-col.tickets.info": "Total number of tickets",
3178
+ "common.report-col.guests": "Guests",
3179
+ "common.report-col.guests.short": "Guests",
3180
+ "common.report-col.guests.info": "Total number of guests",
3181
+ "common.report-col.ticket-average": "Ticket Average",
3182
+ "common.report-col.ticket-average.short": "Tkt Avg",
3183
+ "common.report-col.ticket-average.info": "Average net sales per ticket",
3184
+ "common.report-col.guest-average": "Guest Average",
3185
+ "common.report-col.guest-average.short": "Gst Avg",
3186
+ "common.report-col.guest-average.info": "Average net sales per guest",
3187
+ "common.report-col.net": "Net",
3188
+ "common.report-col.net.short": "Net",
3189
+ "common.report-col.net.info": "Net sales amount",
3190
+ "common.report-col.gross-cash-tips": "Gross Cash Tips",
3191
+ "common.report-col.gross-cash-tips.short": "Gross Cash Tips",
3192
+ "common.report-col.gross-cash-tips.info": "Gross cash tips collected before distribution",
3193
+ "common.report-col.gross-credit-card-tips": "Gross Credit Card Tips",
3194
+ "common.report-col.gross-credit-card-tips.short": "Gross CC Tips",
3195
+ "common.report-col.gross-credit-card-tips.info": "Gross credit card tips before any deductions or redistribution",
3196
+ "common.report-col.type": "Type",
3197
+ "common.report-col.type.short": "Type",
3198
+ "common.report-col.type.info": " ",
3199
+ "common.report-section.revenue-class": "Revenue Class",
3200
+ "common.report-section.payments": "Payments",
3201
+ "common.report-section.cash": "Expected Closeout Cash",
3202
+ "common.report-section.taxes": "Taxes",
3203
+ "common.report-section.refunds-voids": "Refunds & Voids",
3204
+ "common.report-section.discounts": "Discounts",
3205
+ "common.report-section.sales-by-day-part": "Sales by Day Part",
3206
+ "common.report-section.sales-by-order-type": "Sales by Order Type",
3207
+ "common.report-section.cash-row.cash-payments": "Cash Payments",
3208
+ "common.report-section.cash-row.paid-in-outs": "Paid-In/Outs",
3209
+ "common.report-section.cash-row.gratuities-paid-out": "Gratuities Paid Out",
3210
+ "common.report-section.cash-row.cc-tips-paid-out": "CC Tips Paid Out",
3211
+ "common.report-section.trends-footer.total-sales": "Total Sales",
3212
+ "common.report-section.rev-class-footer.tax-total": "Tax Total",
3213
+ "common.report-section.rev-class-footer.gratuities": "Gratuities",
3214
+ "common.report-section.rev-class-footer.balance-payments": "Balance Payments",
3215
+ "common.report-section.rev-class-footer.gift-card-sales": "Gift Card Sales",
3216
+ "common.report-section.rev-class-footer.non-sales-revenue": "Non-Sales Revenue",
3217
+ "common.report-section.rev-class-footer.total-accountable": "Total Accountable",
3218
+ "scheduled-reports.period": "Period",
3219
+ "components.form.field.group-by": "Group By",
3220
+ "components.form.field.last-week": "Compare to Last Week",
3221
+ "components.form.field.last-year": "Compare to Last Year",
3222
+ "common.labels.locations": "Locations",
3223
+ "common.labels.yes": "Yes",
3224
+ // Analytic fields
3225
+ "analytics.field.location_id": "Location",
3226
+ "analytics.field.order_type_id": "Order Types",
3227
+ "analytics.field.revenue_center_id": "Revenue Centers",
3228
+ "analytics.field.revenue_center_id.all": "All Revenue Centers",
3229
+ "analytics.field.hour_id": "Hours",
3230
+ "analytics.field.daypart_id": "Day Parts",
3231
+ "analytics.field.timeslot_id": "15 Mins",
3232
+ "analytics.field.employee_id": "Employees",
3233
+ "analytics.field.payroll_id": "Payroll IDs",
3234
+ "analytics.field.intraday_period_group": "Day Parts",
3235
+ "analytics.field.item_id": "Item",
3236
+ "analytics.field.department_id": "Department",
3237
+ "analytics.field.revenue_class_id": "Revenue Class",
3238
+ "analytics.field.modifier_id": "Modifier",
3239
+ // Common labels
3240
+ "table.total": "Total",
3241
+ "table.groups.sales": "Sales",
3242
+ "table.groups.net-sales": "Net Sales",
3243
+ "table.groups.guests": "Guests",
3244
+ "table.groups.sales-per-guest": "Sales / Guest"
3245
+ };
3246
+ var en_US_default = enUS3;
3247
+
3248
+ // src/translations/index.ts
3249
+ var filterCrowdin = (messages) => Object.fromEntries(
3250
+ Object.entries(messages).filter((entry) => typeof entry[1] === "string")
3251
+ );
3252
+ var LOCALE_OVERRIDES = {
3253
+ "en-US": {},
3254
+ "en-GB": filterCrowdin(en_GB_default),
3255
+ "es-ES": filterCrowdin(es_ES_default)
3256
+ };
3257
+ function resolveTranslate(key, locale) {
3258
+ const overrides = LOCALE_OVERRIDES[locale];
3259
+ if (overrides) {
3260
+ const override = overrides[key];
3261
+ if (override !== void 0) {
3262
+ return override;
3263
+ }
3264
+ }
3265
+ return en_US_default[key] ?? key;
3266
+ }
3267
+
3268
+ // src/exporters/exportBuilder.ts
3269
+ var import_date_fns = require("date-fns");
3270
+ var ExportBuilder = class {
3271
+ constructor(reportType, locations, locale) {
3272
+ this.reportType = reportType;
3273
+ this.locations = locations;
3274
+ this.locale = locale;
3275
+ }
3276
+ getFormattingConfig() {
3277
+ const configs = getReportFormattingLocaleOptions(this.locations);
3278
+ return configs[0];
3279
+ }
3280
+ getConfig() {
3281
+ return getReportConfig(this.reportType);
3282
+ }
3283
+ getConfigSectionName(config) {
3284
+ return config.sectionName ? this.translate(config.sectionName) : "Unknown section";
3285
+ }
3286
+ translate(messageKey) {
3287
+ return resolveTranslate(messageKey, this.locale);
3288
+ }
3289
+ buildColumnPrefix(config, parameters) {
3290
+ const prefix = [];
3291
+ if ("groupByName" in config.fields) {
3292
+ prefix.push("groupByName");
3293
+ }
3294
+ if (parameters.secondGroupBy && "groupByName2" in config.fields) {
3295
+ prefix.push("groupByName2");
3296
+ }
3297
+ return prefix;
3298
+ }
3299
+ sortAndPrependPrefix(config, parameters, collected) {
3300
+ const orderMap = new Map(config.availableColumns.map((col, i) => [col, i]));
3301
+ const sorted = [...collected].sort((a, b) => (orderMap.get(a) ?? Infinity) - (orderMap.get(b) ?? Infinity));
3302
+ return [...this.buildColumnPrefix(config, parameters), ...sorted];
3303
+ }
3304
+ resolveColumns(config, parameters) {
3305
+ const selectedGroupIds = Array.isArray(parameters.cols) ? parameters.cols : null;
3306
+ const compareToLastWeek = parameters.compareToLastWeek === true;
3307
+ const compareToLastYear = parameters.compareToLastYear === true;
3308
+ if (selectedGroupIds !== null && selectedGroupIds.length === 0) {
3309
+ return this.buildColumnPrefix(config, parameters);
3310
+ }
3311
+ if (selectedGroupIds?.length && config.columnGroups?.length) {
3312
+ const collected = [];
3313
+ for (const groupId of selectedGroupIds) {
3314
+ const group = config.columnGroups.find((g) => g.id === groupId);
3315
+ if (!group) {
3316
+ continue;
3317
+ }
3318
+ collected.push(...group.baseFields);
3319
+ if (compareToLastWeek && group.lastWeekFields) {
3320
+ collected.push(...group.lastWeekFields);
3321
+ }
3322
+ if (compareToLastYear && group.lastYearFields) {
3323
+ collected.push(...group.lastYearFields);
3324
+ }
3325
+ }
3326
+ return this.sortAndPrependPrefix(config, parameters, collected);
3327
+ }
3328
+ if (!selectedGroupIds && config.columnGroups?.length && (compareToLastWeek || compareToLastYear)) {
3329
+ const collected = [];
3330
+ for (const col of config.defaultVisibleColumns) {
3331
+ collected.push(col);
3332
+ const group = config.columnGroups.find((g) => g.baseFields.includes(col));
3333
+ if (group) {
3334
+ if (compareToLastWeek && group.lastWeekFields) {
3335
+ collected.push(...group.lastWeekFields);
3336
+ }
3337
+ if (compareToLastYear && group.lastYearFields) {
3338
+ collected.push(...group.lastYearFields);
3339
+ }
3340
+ }
3341
+ }
3342
+ return this.sortAndPrependPrefix(config, parameters, collected);
3343
+ }
3344
+ const metricCols = selectedGroupIds?.length ? config.availableColumns.filter((c) => selectedGroupIds.includes(c)) : config.defaultVisibleColumns;
3345
+ return [...this.buildColumnPrefix(config, parameters), ...metricCols];
3346
+ }
3347
+ getColumnHeader(fieldName, config) {
3348
+ const columnKey = config.fields[fieldName]?.columnKey;
3349
+ const titleKey = columnKey ? getColumnMetadata(columnKey)?.shortTitleKey : void 0;
3350
+ const colHeader = titleKey ? this.translate(titleKey) : fieldName.replace(/([A-Z])/g, " $1").replace(/^./, (c) => c.toUpperCase()).trim();
3351
+ const group = config.columnGroups?.find(
3352
+ (g) => g.baseFields.includes(fieldName) || (g.lastWeekFields?.includes(fieldName) ?? false) || (g.lastYearFields?.includes(fieldName) ?? false)
3353
+ );
3354
+ return group ? getColumnExportHeaderLabel(colHeader, this.translate(group.headerTranslationKey)) : colHeader;
3355
+ }
3356
+ resolveColumnsAndHeaders(parameters, config) {
3357
+ const columns = this.resolveColumns(config, parameters);
3358
+ const headers = columns.map((col) => {
3359
+ if (col === "groupByName2" && parameters.secondGroupBy) {
3360
+ return this.translate(`analytics.field.${parameters.secondGroupBy}`);
3361
+ }
3362
+ return this.getColumnHeader(col, config);
3363
+ });
3364
+ const columnTypes = columns.map((col) => config.fields[col]);
3365
+ return { columns, headers, columnTypes };
3366
+ }
3367
+ formatField(value, config, localeOption, fullRecord) {
3368
+ if (!config || value === void 0 || value === null) {
3369
+ return "";
3370
+ }
3371
+ const formatted = formatFieldValue(value, config.type, localeOption, fullRecord, config);
3372
+ return typeof formatted === "string" && formatted in en_US_default ? this.translate(formatted) : formatted;
3373
+ }
3374
+ formatRow(raw, columns, columnTypes, localeConfig, fullRecord) {
3375
+ const formatted = {};
3376
+ columns.forEach((col, i) => {
3377
+ formatted[col] = this.formatField(raw[col], columnTypes[i], localeConfig, fullRecord);
3378
+ });
3379
+ return formatted;
3380
+ }
3381
+ resolveLabelField(config, columns) {
3382
+ if ("groupByName" in config.fields) {
3383
+ return "groupByName";
3384
+ }
3385
+ const firstStringCol = columns.find((col) => {
3386
+ const field = config.fields[col];
3387
+ return field?.type === "string" && !field.footerCalculation;
3388
+ });
3389
+ return firstStringCol ?? columns[0] ?? "groupByName";
3390
+ }
3391
+ buildTotalsRow(data, config, columns) {
3392
+ if (data.length === 0) {
3393
+ return null;
3394
+ }
3395
+ const labelField = this.resolveLabelField(config, columns);
3396
+ const label = config.totalsLabel ? this.translate(config.totalsLabel) : this.translate("table.total");
3397
+ return calculateReportTotals(data, config.fields, { labelField, label });
3398
+ }
3399
+ getExtraFooterRows(data, config, sectionData, columns) {
3400
+ if (config.extraFooterRowsKey) {
3401
+ if (!Array.isArray(data)) {
3402
+ const rows = data[config.extraFooterRowsKey];
3403
+ if (Array.isArray(rows)) {
3404
+ return rows;
3405
+ }
3406
+ }
3407
+ }
3408
+ if (config.extraFooterFields?.length && sectionData.length > 0) {
3409
+ const labelField = this.resolveLabelField(config, columns);
3410
+ const totals = calculateReportTotals(sectionData, config.fields, {
3411
+ labelField,
3412
+ label: this.translate("table.total")
3413
+ });
3414
+ const row = { [labelField]: totals[labelField] };
3415
+ for (const field of config.extraFooterFields) {
3416
+ row[field] = totals[field];
3417
+ }
3418
+ return [row];
3419
+ }
3420
+ return [];
3421
+ }
3422
+ renderTableContent(config, reportData, parameters) {
3423
+ const localeConfig = this.getFormattingConfig();
3424
+ const data = this.getDataForConfig(reportData, config);
3425
+ const { columns, headers, columnTypes } = this.resolveColumnsAndHeaders(parameters, config);
3426
+ const tableColumns = columns.map((col, i) => ({ header: headers[i], key: col }));
3427
+ const rows = data.filter((row) => typeof row === "object" && row !== null).map((row) => this.formatRow(row, columns, columnTypes, localeConfig, row));
3428
+ if (config.hasFooter) {
3429
+ const totalsRow = this.buildTotalsRow(data, config, columns);
3430
+ if (totalsRow) {
3431
+ rows.push(this.formatRow(totalsRow, columns, columnTypes, localeConfig, null));
3432
+ }
3433
+ }
3434
+ for (const extraRow of this.getExtraFooterRows(reportData, config, data, columns)) {
3435
+ rows.push(this.formatRow(extraRow, columns, columnTypes, localeConfig, extraRow));
3436
+ }
3437
+ return { table: { columns: tableColumns, rows } };
3438
+ }
3439
+ getDataForConfig(data, config) {
3440
+ if (Array.isArray(data)) {
3441
+ return data;
3442
+ }
3443
+ return config.dataAccessKey ? data[config.dataAccessKey] ?? [] : [];
3444
+ }
3445
+ formatMaybeDate(value) {
3446
+ const date = typeof value === "string" ? (0, import_date_fns.parseISO)(value) : value;
3447
+ if (!(0, import_date_fns.isValid)(date)) {
3448
+ return "";
3449
+ }
3450
+ return (0, import_date_fns.format)(date, "yyyy-MM-dd");
3451
+ }
3452
+ buildMetadata(parameters) {
3453
+ const rows = [];
3454
+ rows.push([
3455
+ this.translate("scheduled-reports.period"),
3456
+ `${this.formatMaybeDate(parameters.startDate)} - ${this.formatMaybeDate(parameters.endDate)}`
3457
+ ]);
3458
+ if (parameters.groupBy) {
3459
+ rows.push([
3460
+ this.translate("components.form.field.group-by"),
3461
+ this.translate(`analytics.field.${parameters.groupBy}`)
3462
+ ]);
3463
+ }
3464
+ const locationNames = this.locations.map((l) => l.name);
3465
+ if (locationNames.length > 0) {
3466
+ rows.push([this.translate("common.labels.locations"), locationNames.join(", ")]);
3467
+ }
3468
+ if (parameters.compareToLastWeek === true) {
3469
+ rows.push([this.translate("components.form.field.last-week"), this.translate("common.labels.yes")]);
3470
+ }
3471
+ if (parameters.compareToLastYear === true) {
3472
+ rows.push([this.translate("components.form.field.last-year"), this.translate("common.labels.yes")]);
3473
+ }
3474
+ return rows;
3475
+ }
3476
+ getContent(reportData, parameters, name) {
3477
+ const rawConfig = this.getConfig();
3478
+ if (!rawConfig) {
3479
+ throw new Error("Missing report config");
3480
+ }
3481
+ let sections;
3482
+ if (Array.isArray(rawConfig)) {
3483
+ sections = rawConfig.map((config) => ({
3484
+ sheetName: this.getConfigSectionName(config),
3485
+ ...this.renderTableContent(config, reportData, parameters)
3486
+ }));
3487
+ } else {
3488
+ const metadata = this.buildMetadata(parameters);
3489
+ sections = [
3490
+ {
3491
+ sheetName: name,
3492
+ filters: metadata.map(([label, value]) => ({ label, value })),
3493
+ ...this.renderTableContent(rawConfig, reportData, parameters)
3494
+ }
3495
+ ];
3496
+ }
3497
+ return sections;
3498
+ }
3499
+ };
3500
+ // Annotate the CommonJS export names for ESM import in node:
3501
+ 0 && (module.exports = {
3502
+ ExportBuilder
3503
+ });