Aggregating Guest Check Details versus Displaying Guest Check Details
-
dspTtl
,dspQty
: Represent the amounts and counts shown when displaying the check. -
aggTtl
,aggQty
: Represent the amounts and counts to aggregate this line.
During operations on a check, a line may be duplicated to a new position or a new check. When this occurs the "copy" of the line must be displayed on the new check, but the values contained still need to be aggregated with the original attributes. To accomplish this, the dspTtl
are always moved to the new line but the aggTtl
are left on the original entry so that it may aggregate with the correct time and employee information.
The following examples outline instances where this occurs but do not indicate all possible permutations of these values.
Example 1: Splitting a Check
A soda and a hot dog are rung onto a check at $5 each. This is shown in the following table.
Check Number | Item | dspQty | dspTtl | aggQty | aggTtl | dtlUTC | doNotShowFlag |
---|---|---|---|---|---|---|---|
1 |
Soda |
1 |
5 |
1 |
5 |
3:00 |
False |
1 |
Hot dog |
1 |
5 |
1 |
5 |
3:00 |
False |
The hot dog is then split to a different check 20 minutes later. This is shown in the following table.
Check Number | Item | dspQty | dspTtl | aggQty | aggTtl | dtlUTC | doNotShowFlag |
---|---|---|---|---|---|---|---|
1 |
Soda |
1 |
5 |
1 |
5 |
3:00 |
False |
1 |
Hot dog |
1 |
5 |
1 |
5 |
3:00 |
True |
2 |
Hot dog |
1 |
5 |
0 |
0 |
3:20 |
False |
The aggTtl
stays with the original check, allowing the aggQty
and aggTtl
to be aggregated to the original transaction time when it was sold. This also allows association with the original check owner/transaction owner.
To indicate the dspTtl
/dspQty
on the original hot dog should not be displayed, the do not show flag is set to true. When the check is displayed, the first check will only show the soda and second check will only show the hot dog.
Example 2: Prorated Subtotal Discounts
A soda and a hot dog are rung onto a check at $5 each. This is shown in the following table.
Check Number | Item | dspQty | dspTtl | aggQty | aggTtl | dtlUTC | doNotShowFlag |
---|---|---|---|---|---|---|---|
1 |
Soda |
1 |
5 |
1 |
5 |
3:00 |
False |
1 |
Hot dog |
1 |
5 |
1 |
5 |
3:00 |
False |
A $5 discount is applied to the check. It is defined as a prorated subtotal discount in the POS system. This is shown in the following table.
Check Number | Item | dspQty | dspTtl | aggQty | aggTtl | dtlUTC | doNotShowFlag |
---|---|---|---|---|---|---|---|
1 |
Soda |
1 |
5 |
1 |
5 |
3:00 |
False |
1 |
Hot dog |
1 |
5 |
1 |
5 |
3:00 |
False |
1 |
Dollar off |
1 |
-1 |
1 |
-0.5 |
3:10 |
False |
1 |
Dollar off |
1 |
-0.5 Foot 1 |
0 |
-0.5 |
3:10 |
True |
Footnote 1 The dspTtl
for the second discount line still contains -0.5. This occurs because only the dspTtl
for the first line is manipulated during transformation to show the full discount amount and the rest gets the do not show flag set.
To accommodate the display, only the first line of the discount record will be shown, and this line carries the full amount of the discount in the display total column -$1. So the check, when displayed in Reporting and Analytics, appears the same as it did on the POS: two items and one discount.
The aggregation information is broken apart for each row of proration. This is done so that the discount can be properly aggregated to the menu item it was applied to. In the example above, the first line of the discount contains -0.5 in the aggTtl
field. This will be applied as the discounted amount against the item soda. The second line contains -0.5 in the aggTtl
field as well since these two items had the same price. This will be applied in aggregation against menu item hot dog.
The aggQty
is only populated in the first line since the discount must only be counted once. There is no direct relationship between this field and the discounts applied against menu items. Otherwise, the same discount would be counted twice.