@aglyn/plugins-commerce 1.0.0-beta.278 → 1.0.0-beta.282
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +17 -14
- package/src/lib/components/commerce-console-page.js +33 -1
- package/src/lib/components/commerce-console-page.js.map +1 -1
- package/src/lib/components/console/payments-settings-card.component.js +1 -1
- package/src/lib/components/console/payments-settings-card.component.js.map +1 -1
- package/src/lib/components/console/pos/pos-hardware-api.d.ts +122 -0
- package/src/lib/components/console/pos/pos-hardware-api.js +90 -0
- package/src/lib/components/console/pos/pos-hardware-api.js.map +1 -0
- package/src/lib/components/console/pos/pos-reader-splash-api.d.ts +58 -0
- package/src/lib/components/console/pos/pos-reader-splash-api.js +101 -0
- package/src/lib/components/console/pos/pos-reader-splash-api.js.map +1 -0
- package/src/lib/components/console/pos-devices-card.component.js +5 -0
- package/src/lib/components/console/pos-devices-card.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-card.component.d.ts +26 -0
- package/src/lib/components/console/pos-hardware-card.component.js +456 -0
- package/src/lib/components/console/pos-hardware-card.component.js.map +1 -0
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.d.ts +14 -0
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.js +519 -0
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.d.ts +27 -0
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js +444 -0
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-check-in-zone.component.d.ts +9 -0
- package/src/lib/components/console/pos-ops/pos-check-in-zone.component.js +37 -0
- package/src/lib/components/console/pos-ops/pos-check-in-zone.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.d.ts +24 -0
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js +346 -0
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.d.ts +5 -1
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js +83 -4
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-day-totals-card.component.d.ts +35 -0
- package/src/lib/components/console/pos-ops/pos-day-totals-card.component.js +546 -0
- package/src/lib/components/console/pos-ops/pos-day-totals-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +2 -1
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +20 -1
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-ops-api.d.ts +1 -1
- package/src/lib/components/console/pos-ops/pos-ops-api.js.map +1 -1
- package/src/lib/components/console/pos-page.component.js +6 -3
- package/src/lib/components/console/pos-page.component.js.map +1 -1
- package/src/lib/components/console/pos-reader-splash-setting.component.d.ts +22 -0
- package/src/lib/components/console/pos-reader-splash-setting.component.js +275 -0
- package/src/lib/components/console/pos-reader-splash-setting.component.js.map +1 -0
- package/src/lib/components/console/pos-reader-splash-staff-page.component.d.ts +14 -0
- package/src/lib/components/console/pos-reader-splash-staff-page.component.js +301 -0
- package/src/lib/components/console/pos-reader-splash-staff-page.component.js.map +1 -0
- package/src/lib/components/console/pos-zones.d.ts +37 -3
- package/src/lib/components/console/pos-zones.js +11 -1
- package/src/lib/components/console/pos-zones.js.map +1 -1
- package/src/lib/components/console/product-check-in-fields.component.d.ts +20 -0
- package/src/lib/components/console/product-check-in-fields.component.js +172 -0
- package/src/lib/components/console/product-check-in-fields.component.js.map +1 -0
- package/src/lib/components/console/product-editor-dialog.component.js +48 -9
- package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
- package/src/lib/components/console/product-register-fields.component.d.ts +12 -0
- package/src/lib/components/console/product-register-fields.component.js +39 -1
- package/src/lib/components/console/product-register-fields.component.js.map +1 -1
- package/src/lib/components/console/products-hub-card.component.js +21 -6
- package/src/lib/components/console/products-hub-card.component.js.map +1 -1
- package/src/lib/components/console/reservations-card.component.js +239 -70
- package/src/lib/components/console/reservations-card.component.js.map +1 -1
- package/src/lib/components/reservation-widget.js +16 -0
- package/src/lib/components/reservation-widget.js.map +1 -1
- package/src/lib/constants/operator-alerts.d.ts +6 -0
- package/src/lib/constants/operator-alerts.js +20 -1
- package/src/lib/constants/operator-alerts.js.map +1 -1
- package/src/lib/declarations.console-server.js +7 -0
- package/src/lib/declarations.console-server.js.map +1 -1
- package/src/lib/declarations.d.ts +26 -0
- package/src/lib/declarations.js +34 -0
- package/src/lib/declarations.js.map +1 -0
- package/src/lib/model/commerce-check-in-product.d.ts +37 -0
- package/src/lib/model/commerce-check-in-product.js +49 -0
- package/src/lib/model/commerce-check-in-product.js.map +1 -0
- package/src/lib/model/commerce-check-in.d.ts +187 -0
- package/src/lib/model/commerce-check-in.js +468 -0
- package/src/lib/model/commerce-check-in.js.map +1 -0
- package/src/lib/model/commerce-pos-day-report.d.ts +209 -0
- package/src/lib/model/commerce-pos-day-report.js +572 -0
- package/src/lib/model/commerce-pos-day-report.js.map +1 -0
- package/src/lib/model/commerce-pos-offline.d.ts +65 -3
- package/src/lib/model/commerce-pos-offline.js +104 -7
- package/src/lib/model/commerce-pos-offline.js.map +1 -1
- package/src/lib/model/commerce-pos-ops.d.ts +3 -0
- package/src/lib/model/commerce-pos-ops.js +1 -0
- package/src/lib/model/commerce-pos-ops.js.map +1 -1
- package/src/lib/model/commerce-pos.d.ts +43 -3
- package/src/lib/model/commerce-pos.js +73 -5
- package/src/lib/model/commerce-pos.js.map +1 -1
- package/src/lib/model/commerce-reservations.d.ts +73 -7
- package/src/lib/model/commerce-reservations.js +90 -10
- package/src/lib/model/commerce-reservations.js.map +1 -1
- package/src/lib/model/commerce.d.ts +40 -0
- package/src/lib/model/commerce.js +22 -4
- package/src/lib/model/commerce.js.map +1 -1
- package/src/lib/model/index.d.ts +1 -0
- package/src/lib/model/index.js +1 -0
- package/src/lib/model/index.js.map +1 -1
- package/src/lib/model/plugin-permissions.d.ts +1 -1
- package/src/lib/model/plugin-permissions.js +2 -1
- package/src/lib/model/plugin-permissions.js.map +1 -1
- package/src/lib/model/pos-hardware.d.ts +288 -0
- package/src/lib/model/pos-hardware.js +499 -0
- package/src/lib/model/pos-hardware.js.map +1 -0
- package/src/lib/model/pos-offline-card-limits.d.ts +20 -0
- package/src/lib/model/pos-offline-card-limits.js +28 -0
- package/src/lib/model/pos-offline-card-limits.js.map +1 -0
- package/src/lib/model/pos-reader-splash.d.ts +114 -0
- package/src/lib/model/pos-reader-splash.js +141 -0
- package/src/lib/model/pos-reader-splash.js.map +1 -0
- package/src/lib/model/product-write.d.ts +6 -0
- package/src/lib/plugin-config.d.ts +10 -0
- package/src/lib/plugin-config.js +40 -0
- package/src/lib/plugin-config.js.map +1 -1
- package/src/lib/plugin.js +28 -0
- package/src/lib/plugin.js.map +1 -1
- package/src/lib/server/cart-checkout.js +3 -1
- package/src/lib/server/cart-checkout.js.map +1 -1
- package/src/lib/server/cart.js +12 -1
- package/src/lib/server/cart.js.map +1 -1
- package/src/lib/server/catalog.js +49 -12
- package/src/lib/server/catalog.js.map +1 -1
- package/src/lib/server/checkout-extras.js +1 -1
- package/src/lib/server/checkout-extras.js.map +1 -1
- package/src/lib/server/checkout.js +7 -0
- package/src/lib/server/checkout.js.map +1 -1
- package/src/lib/server/person-eraser.d.ts +8 -1
- package/src/lib/server/person-eraser.js +23 -1
- package/src/lib/server/person-eraser.js.map +1 -1
- package/src/lib/server/pos-check-in.d.ts +49 -0
- package/src/lib/server/pos-check-in.js +652 -0
- package/src/lib/server/pos-check-in.js.map +1 -0
- package/src/lib/server/pos-day-report.d.ts +46 -0
- package/src/lib/server/pos-day-report.js +299 -0
- package/src/lib/server/pos-day-report.js.map +1 -0
- package/src/lib/server/pos-hardware-admin.d.ts +50 -0
- package/src/lib/server/pos-hardware-admin.js +366 -0
- package/src/lib/server/pos-hardware-admin.js.map +1 -0
- package/src/lib/server/pos-hardware-notify.d.ts +27 -0
- package/src/lib/server/pos-hardware-notify.js +142 -0
- package/src/lib/server/pos-hardware-notify.js.map +1 -0
- package/src/lib/server/pos-hardware-user-eraser.d.ts +26 -0
- package/src/lib/server/pos-hardware-user-eraser.js +67 -0
- package/src/lib/server/pos-hardware-user-eraser.js.map +1 -0
- package/src/lib/server/pos-hardware-webhook.d.ts +31 -0
- package/src/lib/server/pos-hardware-webhook.js +176 -0
- package/src/lib/server/pos-hardware-webhook.js.map +1 -0
- package/src/lib/server/pos-hardware.d.ts +58 -0
- package/src/lib/server/pos-hardware.js +234 -0
- package/src/lib/server/pos-hardware.js.map +1 -0
- package/src/lib/server/pos-offline-card-reconcile.d.ts +38 -0
- package/src/lib/server/pos-offline-card-reconcile.js +58 -0
- package/src/lib/server/pos-offline-card-reconcile.js.map +1 -0
- package/src/lib/server/pos-offline-sync.d.ts +32 -0
- package/src/lib/server/pos-offline-sync.js +191 -15
- package/src/lib/server/pos-offline-sync.js.map +1 -1
- package/src/lib/server/pos-ops-routes.d.ts +4 -2
- package/src/lib/server/pos-ops-routes.js +14 -2
- package/src/lib/server/pos-ops-routes.js.map +1 -1
- package/src/lib/server/pos-order.js +39 -51
- package/src/lib/server/pos-order.js.map +1 -1
- package/src/lib/server/pos-payment.js +8 -4
- package/src/lib/server/pos-payment.js.map +1 -1
- package/src/lib/server/pos-reader-splash-admin.d.ts +36 -0
- package/src/lib/server/pos-reader-splash-admin.js +295 -0
- package/src/lib/server/pos-reader-splash-admin.js.map +1 -0
- package/src/lib/server/pos-reader-splash-render.d.ts +40 -0
- package/src/lib/server/pos-reader-splash-render.js +138 -0
- package/src/lib/server/pos-reader-splash-render.js.map +1 -0
- package/src/lib/server/pos-reader-splash-server.d.ts +32 -0
- package/src/lib/server/pos-reader-splash-server.js +32 -0
- package/src/lib/server/pos-reader-splash-server.js.map +1 -0
- package/src/lib/server/pos-reader-splash.d.ts +105 -0
- package/src/lib/server/pos-reader-splash.js +548 -0
- package/src/lib/server/pos-reader-splash.js.map +1 -0
- package/src/lib/server/pos-sale.d.ts +2 -1
- package/src/lib/server/pos-sale.js +3 -1
- package/src/lib/server/pos-sale.js.map +1 -1
- package/src/lib/server/pos-terminal.d.ts +67 -4
- package/src/lib/server/pos-terminal.js +239 -32
- package/src/lib/server/pos-terminal.js.map +1 -1
- package/src/lib/server/process-restock.js +4 -0
- package/src/lib/server/process-restock.js.map +1 -1
- package/src/lib/server/product-card.js +2 -2
- package/src/lib/server/product-card.js.map +1 -1
- package/src/lib/server/product-catalog.d.ts +2 -0
- package/src/lib/server/product-catalog.js +11 -4
- package/src/lib/server/product-catalog.js.map +1 -1
- package/src/lib/server/product.js +3 -1
- package/src/lib/server/product.js.map +1 -1
- package/src/lib/server/related.js +8 -1
- package/src/lib/server/related.js.map +1 -1
- package/src/lib/server/reservation-availability-query.d.ts +35 -0
- package/src/lib/server/reservation-availability-query.js +34 -0
- package/src/lib/server/reservation-availability-query.js.map +1 -0
- package/src/lib/server/reservation-availability.d.ts +21 -0
- package/src/lib/server/reservation-availability.js +64 -10
- package/src/lib/server/reservation-availability.js.map +1 -1
- package/src/lib/server/reservation-walk-in.d.ts +28 -0
- package/src/lib/server/reservation-walk-in.js +166 -0
- package/src/lib/server/reservation-walk-in.js.map +1 -0
- package/src/lib/server/reserve.js +13 -10
- package/src/lib/server/reserve.js.map +1 -1
- package/src/lib/server/reviews.js +3 -1
- package/src/lib/server/reviews.js.map +1 -1
- package/src/lib/server/site-page-resolver.js +5 -2
- package/src/lib/server/site-page-resolver.js.map +1 -1
- package/src/lib/server.js +26 -0
- package/src/lib/server.js.map +1 -1
- package/src/lib/testing/fake-firestore.js +72 -0
- package/src/lib/testing/fake-firestore.js.map +1 -1
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { type PosShift, type PosShiftRefund, type PosShiftReport, type PosShiftSale, type PosTenderMethod } from './commerce-pos-ops';
|
|
18
|
+
/** The route, as the console and the native register call it. */
|
|
19
|
+
export declare const POS_DAY_REPORT_ROUTE = "/api/commerce/pos-day-report";
|
|
20
|
+
/** The longest range one report covers: a month of trading, or a long event. */
|
|
21
|
+
export declare const POS_DAY_REPORT_MAX_DAYS = 31;
|
|
22
|
+
/** The most sales one report reads; past it the report says it is partial. */
|
|
23
|
+
export declare const POS_DAY_REPORT_SALES_CEILING = 5000;
|
|
24
|
+
/** The most returns one report reads per register. */
|
|
25
|
+
export declare const POS_DAY_REPORT_RETURNS_CEILING = 2000;
|
|
26
|
+
/** The most shifts one report lists. */
|
|
27
|
+
export declare const POS_DAY_REPORT_SHIFTS_CEILING = 500;
|
|
28
|
+
/** The sales figures every total, register row and cashier row carries. */
|
|
29
|
+
export interface PosDayTotals {
|
|
30
|
+
orderCount: number;
|
|
31
|
+
/** What customers paid for the goods: order totals, tax in, tips out. */
|
|
32
|
+
grossSalesCents: number;
|
|
33
|
+
discountsCents: number;
|
|
34
|
+
taxCents: number;
|
|
35
|
+
tipsCents: number;
|
|
36
|
+
refundCount: number;
|
|
37
|
+
refundsCents: number;
|
|
38
|
+
/** Gross sales less refunds. */
|
|
39
|
+
netSalesCents: number;
|
|
40
|
+
/** Sales by tender, the shift report's keys; a tender with nothing is absent. */
|
|
41
|
+
salesByTender: Partial<Record<PosTenderMethod, number>>;
|
|
42
|
+
}
|
|
43
|
+
/** One tender's line: what it took, what went back to it, and the difference. */
|
|
44
|
+
export interface PosDayTenderRow {
|
|
45
|
+
method: PosTenderMethod;
|
|
46
|
+
label: string;
|
|
47
|
+
salesCents: number;
|
|
48
|
+
refundsCents: number;
|
|
49
|
+
netCents: number;
|
|
50
|
+
}
|
|
51
|
+
export interface PosDayRegisterRow extends PosDayTotals {
|
|
52
|
+
registerId: string;
|
|
53
|
+
/** The register's name, or its id when the register has since been removed. */
|
|
54
|
+
name: string;
|
|
55
|
+
}
|
|
56
|
+
export interface PosDayCashierRow extends PosDayTotals {
|
|
57
|
+
/** The member who rang the sales, or `''` for sales that name nobody. */
|
|
58
|
+
memberId: string;
|
|
59
|
+
name: string;
|
|
60
|
+
}
|
|
61
|
+
/** A shift in the range, as the shifts table lists it. */
|
|
62
|
+
export interface PosDayShiftRow {
|
|
63
|
+
shiftId: string;
|
|
64
|
+
registerId: string;
|
|
65
|
+
registerName: string;
|
|
66
|
+
status: 'open' | 'closed';
|
|
67
|
+
openedAtMs: number;
|
|
68
|
+
closedAtMs: number | null;
|
|
69
|
+
openedByName: string;
|
|
70
|
+
closedByName: string | null;
|
|
71
|
+
openingFloatCents: number;
|
|
72
|
+
/** The Z report's net sales, or the X report's so far while it is open. */
|
|
73
|
+
netSalesCents: number;
|
|
74
|
+
/** The Z report's expected cash, or what the drawer should hold now while it is open. */
|
|
75
|
+
expectedCashCents: number;
|
|
76
|
+
/** What the closing cashier counted; `null` while the shift is open. */
|
|
77
|
+
countedCashCents: number | null;
|
|
78
|
+
/** counted − expected: positive is over, negative is short; `null` while open. */
|
|
79
|
+
varianceCents: number | null;
|
|
80
|
+
}
|
|
81
|
+
/** The cash drawers, summed over every register. */
|
|
82
|
+
export interface PosDayCash {
|
|
83
|
+
/** The floats of the shifts that opened in the range. */
|
|
84
|
+
openingFloatCents: number;
|
|
85
|
+
/** Cash taken by sales in the range (change handed back is not counted), plus cash tips. */
|
|
86
|
+
cashSalesCents: number;
|
|
87
|
+
/** Returns paid out of a drawer in the range. */
|
|
88
|
+
cashRefundsCents: number;
|
|
89
|
+
paidInCents: number;
|
|
90
|
+
paidOutCents: number;
|
|
91
|
+
dropsCents: number;
|
|
92
|
+
closedShiftCount: number;
|
|
93
|
+
openShiftCount: number;
|
|
94
|
+
/** What the closed shifts' drawers should have held when they were counted. */
|
|
95
|
+
expectedCashCents: number;
|
|
96
|
+
/** What was counted in them. */
|
|
97
|
+
countedCashCents: number;
|
|
98
|
+
/** counted − expected over the closed shifts: positive is over, negative is short. */
|
|
99
|
+
varianceCents: number;
|
|
100
|
+
/** What the drawers still open should hold right now; not counted yet. */
|
|
101
|
+
openExpectedCashCents: number;
|
|
102
|
+
}
|
|
103
|
+
/** `GET /api/commerce/pos-day-report`'s answer. Every amount is integer minor units. */
|
|
104
|
+
export interface PosDayReport {
|
|
105
|
+
hostId: string;
|
|
106
|
+
/** The site's name, as the printed report heads it. */
|
|
107
|
+
storeName: string;
|
|
108
|
+
/** The store's currency, lower case ISO 4217 (`usd`). */
|
|
109
|
+
currency: string;
|
|
110
|
+
/** The zone the days are counted in (the site's, else the workspace's, else UTC). */
|
|
111
|
+
timeZone: string;
|
|
112
|
+
/** The first day, `YYYY-MM-DD`, inclusive. */
|
|
113
|
+
from: string;
|
|
114
|
+
/** The last day, `YYYY-MM-DD`, inclusive. */
|
|
115
|
+
to: string;
|
|
116
|
+
/** The instant the first day starts in `timeZone`. */
|
|
117
|
+
startMs: number;
|
|
118
|
+
/** The instant after the last day ends in `timeZone` (exclusive). */
|
|
119
|
+
endMs: number;
|
|
120
|
+
days: number;
|
|
121
|
+
generatedAtMs: number;
|
|
122
|
+
totals: PosDayTotals;
|
|
123
|
+
byTender: PosDayTenderRow[];
|
|
124
|
+
byRegister: PosDayRegisterRow[];
|
|
125
|
+
byCashier: PosDayCashierRow[];
|
|
126
|
+
shifts: PosDayShiftRow[];
|
|
127
|
+
cash: PosDayCash;
|
|
128
|
+
/** More sales, returns or shifts were in the range than one report reads. */
|
|
129
|
+
truncated?: boolean;
|
|
130
|
+
}
|
|
131
|
+
export type PosDayRange = {
|
|
132
|
+
ok: true;
|
|
133
|
+
from: string;
|
|
134
|
+
to: string;
|
|
135
|
+
startMs: number;
|
|
136
|
+
endMs: number;
|
|
137
|
+
days: number;
|
|
138
|
+
} | {
|
|
139
|
+
ok: false;
|
|
140
|
+
error: string;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* The days a report covers, as instants in the store's zone. No `from` is
|
|
144
|
+
* today there; no `to` is the same day as `from`. Midnight is found on the
|
|
145
|
+
* zone's own calendar, so a day a clock change falls in is 23 or 25 hours.
|
|
146
|
+
*/
|
|
147
|
+
export declare function posDayReportRange(input: {
|
|
148
|
+
from?: unknown;
|
|
149
|
+
to?: unknown;
|
|
150
|
+
nowMs: number;
|
|
151
|
+
timeZone: string;
|
|
152
|
+
}): PosDayRange;
|
|
153
|
+
/** A register sale as the day report reads it. */
|
|
154
|
+
export interface PosDaySale extends PosShiftSale {
|
|
155
|
+
registerId?: string;
|
|
156
|
+
cashierId?: string;
|
|
157
|
+
shiftId?: string;
|
|
158
|
+
}
|
|
159
|
+
/** A register return as the day report reads it: its register and who rang it. */
|
|
160
|
+
export interface PosDayReturn extends PosShiftRefund {
|
|
161
|
+
registerId: string;
|
|
162
|
+
cashierId?: string;
|
|
163
|
+
}
|
|
164
|
+
/** A shift in the range, with the X report of an open one already read. */
|
|
165
|
+
export type PosDayShift = Pick<PosShift, 'registerId' | 'status' | 'openedAtMs' | 'openedBy' | 'openedByName' | 'openingFloatCents' | 'cashEvents' | 'closedAtMs' | 'closedBy' | 'closedByName' | 'countedCashCents' | 'expectedCashCents' | 'varianceCents' | 'netSalesCents' | 'report'> & {
|
|
166
|
+
id: string;
|
|
167
|
+
liveReport?: PosShiftReport;
|
|
168
|
+
};
|
|
169
|
+
export interface PosDayReportInput {
|
|
170
|
+
hostId: string;
|
|
171
|
+
storeName: string;
|
|
172
|
+
currency: string;
|
|
173
|
+
timeZone: string;
|
|
174
|
+
range: Extract<PosDayRange, {
|
|
175
|
+
ok: true;
|
|
176
|
+
}>;
|
|
177
|
+
generatedAtMs: number;
|
|
178
|
+
sales: readonly PosDaySale[];
|
|
179
|
+
returns: readonly PosDayReturn[];
|
|
180
|
+
shifts: readonly PosDayShift[];
|
|
181
|
+
/** Register id → name. */
|
|
182
|
+
registerNames: Readonly<Record<string, string>>;
|
|
183
|
+
/** Member id → display name. */
|
|
184
|
+
memberNames: Readonly<Record<string, string>>;
|
|
185
|
+
truncated?: boolean;
|
|
186
|
+
}
|
|
187
|
+
/** The day report from what the route read. */
|
|
188
|
+
export declare function computePosDayReport(input: PosDayReportInput): PosDayReport;
|
|
189
|
+
/** Whether the range had nothing to report: no sale, no return, no shift. */
|
|
190
|
+
export declare function posDayReportIsEmpty(report: PosDayReport): boolean;
|
|
191
|
+
/** Minor units as a spreadsheet number in the store's currency: `12.34`, `1200` for yen. */
|
|
192
|
+
export declare function posDayAmount(cents: number | null | undefined, currency: string): string;
|
|
193
|
+
/** The range as a reader says it: `2026-10-24` or `2026-10-24 to 2026-10-26`. */
|
|
194
|
+
export declare function posDayRangeLabel(report: Pick<PosDayReport, 'from' | 'to'>): string;
|
|
195
|
+
/**
|
|
196
|
+
* The report as one spreadsheet: a heading block, the sales by register and
|
|
197
|
+
* cashier under the total, the tenders, the shifts and the drawer — each a
|
|
198
|
+
* block of its own with its own header row, amounts in the store's currency.
|
|
199
|
+
*/
|
|
200
|
+
export declare function posDayReportCsv(report: PosDayReport): string;
|
|
201
|
+
/** The report's rows as the screen, the browser print and an 80 mm printer all read them. */
|
|
202
|
+
export declare function posDayReportSections(report: PosDayReport, money: (cents: number) => string): Array<{
|
|
203
|
+
section: string;
|
|
204
|
+
rows: Array<{
|
|
205
|
+
label: string;
|
|
206
|
+
value: string;
|
|
207
|
+
strong?: boolean;
|
|
208
|
+
}>;
|
|
209
|
+
}>;
|