@escapenavigator/types 1.10.102 → 1.10.103

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,65 @@
1
+ /**
2
+ * Сводный отчёт по продажам сертификатов за выбранный период.
3
+ *
4
+ * Все денежные суммы — в минимальных единицах валюты (копейки/центы).
5
+ * Базовая фильтрация на бэке: `code != NOT_GENERATED_CODE` (висящие
6
+ * корзины не учитываем) + `paidAt` в окне `periods`.
7
+ *
8
+ * Семантика финансовых полей:
9
+ * - gross — стоимость по прайсу (SUM(total)). Не выручка.
10
+ * - cash — реально полученные деньги (SUM(cashReceived)). Это «выручка».
11
+ * - discount — сумма ручных скидок (SUM(discountTotal)).
12
+ * - promocode — сумма промокодов (SUM(promocodeTotal)).
13
+ * - refunded — реально возвращённые клиенту деньги (SUM(refundedAmount)).
14
+ */
15
+ export type CertificatesOverview = {
16
+ /** Сколько сертификатов выписано (paid) за период. */
17
+ soldCount: number;
18
+ /** Сколько аннулировано в этом же периоде (по annulledAt). */
19
+ annulledCount: number;
20
+ /** Сколько использовано полностью (по fullyUsedAt). */
21
+ fullyUsedCount: number;
22
+ /** Сколько ушло в подарок (isGift = true) среди soldCount. */
23
+ giftCount: number;
24
+ gross: number;
25
+ cash: number;
26
+ discount: number;
27
+ promocode: number;
28
+ refunded: number;
29
+ /** Средний чек по cash: cash / soldCount, 0 если нет продаж. */
30
+ avgCheck: number;
31
+ /** Не использованный остаток номиналов: SUM(balance) у не-аннулированных. */
32
+ outstandingBalance: number;
33
+ };
34
+ export type CertificatesDynamicRow = {
35
+ period: string;
36
+ soldCount: number;
37
+ cash: number;
38
+ discount: number;
39
+ promocode: number;
40
+ refunded: number;
41
+ };
42
+ export type CertificatesByTemplateRow = {
43
+ certificateId: number | null;
44
+ title: string;
45
+ soldCount: number;
46
+ cash: number;
47
+ avgCheck: number;
48
+ };
49
+ export type CertificatesBySourceRow = {
50
+ source: string;
51
+ soldCount: number;
52
+ cash: number;
53
+ };
54
+ export type CertificatesByDeliveryRow = {
55
+ deliveryType: string;
56
+ soldCount: number;
57
+ cash: number;
58
+ };
59
+ export type CertificatesReportRO = {
60
+ overview: CertificatesOverview;
61
+ dynamic: CertificatesDynamicRow[];
62
+ byTemplate: CertificatesByTemplateRow[];
63
+ bySource: CertificatesBySourceRow[];
64
+ byDelivery: CertificatesByDeliveryRow[];
65
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });