@ibiliaze/global-vars 1.203.0 → 1.205.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/globals.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface Customer {
7
7
  auth: boolean;
8
8
  }
9
9
  type App = 'TradeOps_a' | 'SabahFK_A' | 'SabahFK_B' | 'Sumgayit';
10
+ export type DayOfWeek = 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
10
11
  export interface Globals {
11
12
  cart?: Cart;
12
13
  customer?: Customer;
@@ -530,13 +530,14 @@ export type FlatOccupance<Id, TDate> = {
530
530
  tel: string;
531
531
  seat: number;
532
532
  row: number;
533
+ categoryId: Id;
533
534
  categoryName: string;
535
+ categoryColor?: string;
534
536
  seasonId?: Id;
535
537
  seasonName?: string;
536
538
  seasonStartDate?: TDate;
537
539
  seasonEndDate?: TDate;
538
540
  reservedAt?: TDate;
539
- categoryId: Id;
540
541
  gate: string;
541
542
  area: string;
542
543
  block: string;
@@ -149,22 +149,22 @@ export declare const pages: {
149
149
  readonly path: "/admin/reporting";
150
150
  readonly name: "Reporting";
151
151
  readonly subPages: readonly [{
152
- readonly name: "Periodical";
153
- readonly path: "/periodical";
152
+ readonly name: "Sales Report";
153
+ readonly path: "/revenue";
154
154
  }, {
155
- readonly name: "Performances";
156
- readonly path: "/performances";
155
+ readonly name: "Event Performance";
156
+ readonly path: "/performance";
157
157
  }, {
158
- readonly name: "Customers";
159
- readonly path: "/customers";
158
+ readonly name: "Customer Report";
159
+ readonly path: "/customer";
160
160
  }, {
161
- readonly name: "Sale channels";
161
+ readonly name: "Sales Channels & Drilldown";
162
162
  readonly path: "/sale-channels";
163
163
  }, {
164
- readonly name: "Sectors";
164
+ readonly name: "Sector & Seating Map Report";
165
165
  readonly path: "/sectors";
166
166
  }, {
167
- readonly name: "Payments";
167
+ readonly name: "Payment & Transactions";
168
168
  readonly path: "/payments";
169
169
  }];
170
170
  };
@@ -87,12 +87,12 @@ exports.pages = {
87
87
  path: '/admin/reporting',
88
88
  name: 'Reporting',
89
89
  subPages: [
90
- { name: 'Periodical', path: '/periodical' },
91
- { name: 'Performances', path: '/performances' },
92
- { name: 'Customers', path: '/customers' },
93
- { name: 'Sale channels', path: '/sale-channels' },
94
- { name: 'Sectors', path: '/sectors' },
95
- { name: 'Payments', path: '/payments' },
90
+ { name: 'Sales Report', path: '/revenue' },
91
+ { name: 'Event Performance', path: '/performance' },
92
+ { name: 'Customer Report', path: '/customer' },
93
+ { name: 'Sales Channels & Drilldown', path: '/sale-channels' },
94
+ { name: 'Sector & Seating Map Report', path: '/sectors' },
95
+ { name: 'Payment & Transactions', path: '/payments' },
96
96
  ],
97
97
  },
98
98
  pages: { parentId: 'landing-pages-section', path: '/admin/landing-pages', name: 'Pages' },
@@ -1,4 +1,5 @@
1
1
  import type { SaleBase, SaleInsightData } from '../inputsDefault';
2
+ import type { SaleCustomer, SaleFlows, SalePayments, SalePerformanceBase, SaleRevenue, SaleSectors } from '../sale';
2
3
  export declare const saleRoleDefs: <TId, TDate>() => readonly [{
3
4
  readonly method: "post";
4
5
  readonly path: "/sale";
@@ -38,6 +39,97 @@ export declare const saleRoleDefs: <TId, TDate>() => readonly [{
38
39
  message: string;
39
40
  error: string;
40
41
  };
42
+ }, {
43
+ readonly method: "get";
44
+ readonly path: "/sale/revenue";
45
+ readonly role: "getSalesRevenue";
46
+ readonly name: "Get sale revenue information";
47
+ readonly response_200: {
48
+ revenue: SaleRevenue;
49
+ message: string;
50
+ };
51
+ readonly response_500: {
52
+ message: string;
53
+ error: string;
54
+ };
55
+ }, {
56
+ readonly method: "get";
57
+ readonly path: "/sale/performance";
58
+ readonly role: "getSalesPerformance";
59
+ readonly name: "Get sale performance information";
60
+ readonly response_200: {
61
+ performance: SalePerformanceBase<TDate>;
62
+ message: string;
63
+ };
64
+ readonly response_500: {
65
+ message: string;
66
+ error: string;
67
+ };
68
+ }, {
69
+ readonly method: "get";
70
+ readonly path: "/sale/customers";
71
+ readonly role: "getSalesCustomers";
72
+ readonly name: "Get sale customer information";
73
+ readonly response_200: {
74
+ customer: SaleCustomer;
75
+ message: string;
76
+ };
77
+ readonly response_500: {
78
+ message: string;
79
+ error: string;
80
+ };
81
+ }, {
82
+ readonly method: "get";
83
+ readonly path: "/sale/sale-channels";
84
+ readonly role: "getSalesSaleChannels";
85
+ readonly name: "Get sale flow information";
86
+ readonly response_200: {
87
+ flow: SaleFlows;
88
+ message: string;
89
+ };
90
+ readonly response_500: {
91
+ message: string;
92
+ error: string;
93
+ };
94
+ }, {
95
+ readonly method: "get";
96
+ readonly path: "/sale/sectors";
97
+ readonly role: "getSalesSectors";
98
+ readonly name: "Get sale sector information";
99
+ readonly response_200: {
100
+ sector: SaleSectors;
101
+ message: string;
102
+ };
103
+ readonly response_500: {
104
+ message: string;
105
+ error: string;
106
+ };
107
+ }, {
108
+ readonly method: "get";
109
+ readonly path: "/sale/payments";
110
+ readonly role: "getSalesPayments";
111
+ readonly name: "Get sale payment information";
112
+ readonly response_200: {
113
+ payments: SalePayments;
114
+ message: string;
115
+ };
116
+ readonly response_500: {
117
+ message: string;
118
+ error: string;
119
+ };
120
+ }, {
121
+ readonly method: "get";
122
+ readonly path: "/sale/sales";
123
+ readonly role: "getSalesSales";
124
+ readonly name: "Get sales information";
125
+ readonly response_200: {
126
+ sales: SaleBase<TId, TDate>[];
127
+ count: number;
128
+ };
129
+ readonly response_500: {
130
+ message: string;
131
+ error: string;
132
+ };
41
133
  }, {
42
134
  readonly method: "get";
43
135
  readonly path: "/sale/:id";
@@ -27,6 +27,62 @@ const saleRoleDefs = () => {
27
27
  response_200: {},
28
28
  response_500: {},
29
29
  },
30
+ {
31
+ method: 'get',
32
+ path: '/sale/revenue',
33
+ role: 'getSalesRevenue',
34
+ name: 'Get sale revenue information',
35
+ response_200: {},
36
+ response_500: {},
37
+ },
38
+ {
39
+ method: 'get',
40
+ path: '/sale/performance',
41
+ role: 'getSalesPerformance',
42
+ name: 'Get sale performance information',
43
+ response_200: {},
44
+ response_500: {},
45
+ },
46
+ {
47
+ method: 'get',
48
+ path: '/sale/customers',
49
+ role: 'getSalesCustomers',
50
+ name: 'Get sale customer information',
51
+ response_200: {},
52
+ response_500: {},
53
+ },
54
+ {
55
+ method: 'get',
56
+ path: '/sale/sale-channels',
57
+ role: 'getSalesSaleChannels',
58
+ name: 'Get sale flow information',
59
+ response_200: {},
60
+ response_500: {},
61
+ },
62
+ {
63
+ method: 'get',
64
+ path: '/sale/sectors',
65
+ role: 'getSalesSectors',
66
+ name: 'Get sale sector information',
67
+ response_200: {},
68
+ response_500: {},
69
+ },
70
+ {
71
+ method: 'get',
72
+ path: '/sale/payments',
73
+ role: 'getSalesPayments',
74
+ name: 'Get sale payment information',
75
+ response_200: {},
76
+ response_500: {},
77
+ },
78
+ {
79
+ method: 'get',
80
+ path: '/sale/sales',
81
+ role: 'getSalesSales',
82
+ name: 'Get sales information',
83
+ response_200: {},
84
+ response_500: {},
85
+ },
30
86
  {
31
87
  method: 'get',
32
88
  path: '/sale/:id',
@@ -1631,6 +1631,97 @@ export declare const apis: <TId, TDate>() => readonly [{
1631
1631
  message: string;
1632
1632
  error: string;
1633
1633
  };
1634
+ }, {
1635
+ readonly method: "get";
1636
+ readonly path: "/sale/revenue";
1637
+ readonly role: "getSalesRevenue";
1638
+ readonly name: "Get sale revenue information";
1639
+ readonly response_200: {
1640
+ revenue: import("./sale").SaleRevenue;
1641
+ message: string;
1642
+ };
1643
+ readonly response_500: {
1644
+ message: string;
1645
+ error: string;
1646
+ };
1647
+ }, {
1648
+ readonly method: "get";
1649
+ readonly path: "/sale/performance";
1650
+ readonly role: "getSalesPerformance";
1651
+ readonly name: "Get sale performance information";
1652
+ readonly response_200: {
1653
+ performance: import("./sale").SalePerformanceBase<TDate_19>;
1654
+ message: string;
1655
+ };
1656
+ readonly response_500: {
1657
+ message: string;
1658
+ error: string;
1659
+ };
1660
+ }, {
1661
+ readonly method: "get";
1662
+ readonly path: "/sale/customers";
1663
+ readonly role: "getSalesCustomers";
1664
+ readonly name: "Get sale customer information";
1665
+ readonly response_200: {
1666
+ customer: import("./sale").SaleCustomer;
1667
+ message: string;
1668
+ };
1669
+ readonly response_500: {
1670
+ message: string;
1671
+ error: string;
1672
+ };
1673
+ }, {
1674
+ readonly method: "get";
1675
+ readonly path: "/sale/sale-channels";
1676
+ readonly role: "getSalesSaleChannels";
1677
+ readonly name: "Get sale flow information";
1678
+ readonly response_200: {
1679
+ flow: import("./sale").SaleFlows;
1680
+ message: string;
1681
+ };
1682
+ readonly response_500: {
1683
+ message: string;
1684
+ error: string;
1685
+ };
1686
+ }, {
1687
+ readonly method: "get";
1688
+ readonly path: "/sale/sectors";
1689
+ readonly role: "getSalesSectors";
1690
+ readonly name: "Get sale sector information";
1691
+ readonly response_200: {
1692
+ sector: import("./sale").SaleSectors;
1693
+ message: string;
1694
+ };
1695
+ readonly response_500: {
1696
+ message: string;
1697
+ error: string;
1698
+ };
1699
+ }, {
1700
+ readonly method: "get";
1701
+ readonly path: "/sale/payments";
1702
+ readonly role: "getSalesPayments";
1703
+ readonly name: "Get sale payment information";
1704
+ readonly response_200: {
1705
+ payments: import("./sale").SalePayments;
1706
+ message: string;
1707
+ };
1708
+ readonly response_500: {
1709
+ message: string;
1710
+ error: string;
1711
+ };
1712
+ }, {
1713
+ readonly method: "get";
1714
+ readonly path: "/sale/sales";
1715
+ readonly role: "getSalesSales";
1716
+ readonly name: "Get sales information";
1717
+ readonly response_200: {
1718
+ sales: import("./inputsDefault").SaleBase<TId_19, TDate_19>[];
1719
+ count: number;
1720
+ };
1721
+ readonly response_500: {
1722
+ message: string;
1723
+ error: string;
1724
+ };
1634
1725
  }, {
1635
1726
  readonly method: "get";
1636
1727
  readonly path: "/sale/:id";
@@ -4188,6 +4279,97 @@ declare const allApis: readonly [{
4188
4279
  message: string;
4189
4280
  error: string;
4190
4281
  };
4282
+ }, {
4283
+ readonly method: "get";
4284
+ readonly path: "/sale/revenue";
4285
+ readonly role: "getSalesRevenue";
4286
+ readonly name: "Get sale revenue information";
4287
+ readonly response_200: {
4288
+ revenue: import("./sale").SaleRevenue;
4289
+ message: string;
4290
+ };
4291
+ readonly response_500: {
4292
+ message: string;
4293
+ error: string;
4294
+ };
4295
+ }, {
4296
+ readonly method: "get";
4297
+ readonly path: "/sale/performance";
4298
+ readonly role: "getSalesPerformance";
4299
+ readonly name: "Get sale performance information";
4300
+ readonly response_200: {
4301
+ performance: import("./sale").SalePerformanceBase<TDate_18>;
4302
+ message: string;
4303
+ };
4304
+ readonly response_500: {
4305
+ message: string;
4306
+ error: string;
4307
+ };
4308
+ }, {
4309
+ readonly method: "get";
4310
+ readonly path: "/sale/customers";
4311
+ readonly role: "getSalesCustomers";
4312
+ readonly name: "Get sale customer information";
4313
+ readonly response_200: {
4314
+ customer: import("./sale").SaleCustomer;
4315
+ message: string;
4316
+ };
4317
+ readonly response_500: {
4318
+ message: string;
4319
+ error: string;
4320
+ };
4321
+ }, {
4322
+ readonly method: "get";
4323
+ readonly path: "/sale/sale-channels";
4324
+ readonly role: "getSalesSaleChannels";
4325
+ readonly name: "Get sale flow information";
4326
+ readonly response_200: {
4327
+ flow: import("./sale").SaleFlows;
4328
+ message: string;
4329
+ };
4330
+ readonly response_500: {
4331
+ message: string;
4332
+ error: string;
4333
+ };
4334
+ }, {
4335
+ readonly method: "get";
4336
+ readonly path: "/sale/sectors";
4337
+ readonly role: "getSalesSectors";
4338
+ readonly name: "Get sale sector information";
4339
+ readonly response_200: {
4340
+ sector: import("./sale").SaleSectors;
4341
+ message: string;
4342
+ };
4343
+ readonly response_500: {
4344
+ message: string;
4345
+ error: string;
4346
+ };
4347
+ }, {
4348
+ readonly method: "get";
4349
+ readonly path: "/sale/payments";
4350
+ readonly role: "getSalesPayments";
4351
+ readonly name: "Get sale payment information";
4352
+ readonly response_200: {
4353
+ payments: import("./sale").SalePayments;
4354
+ message: string;
4355
+ };
4356
+ readonly response_500: {
4357
+ message: string;
4358
+ error: string;
4359
+ };
4360
+ }, {
4361
+ readonly method: "get";
4362
+ readonly path: "/sale/sales";
4363
+ readonly role: "getSalesSales";
4364
+ readonly name: "Get sales information";
4365
+ readonly response_200: {
4366
+ sales: import("./inputsDefault").SaleBase<TId_18, TDate_18>[];
4367
+ count: number;
4368
+ };
4369
+ readonly response_500: {
4370
+ message: string;
4371
+ error: string;
4372
+ };
4191
4373
  }, {
4192
4374
  readonly method: "get";
4193
4375
  readonly path: "/sale/:id";
@@ -0,0 +1,101 @@
1
+ import { DayOfWeek } from '../globals';
2
+ export type SaleRevenue = {
3
+ totalTicketsSold: number;
4
+ totalRevenue: number;
5
+ highestSellingDay: DayOfWeek;
6
+ averageTicketsPerDay: number;
7
+ events: {
8
+ name: string;
9
+ ticketsSold: number;
10
+ revenue: number;
11
+ failedTransactions: number;
12
+ }[];
13
+ };
14
+ export type SalePerformanceBase<TDate> = {
15
+ events: {
16
+ name: string;
17
+ date: TDate;
18
+ ticketsSold: number;
19
+ revenue: number;
20
+ categories: {
21
+ name: string;
22
+ ticketsSold: number;
23
+ }[];
24
+ occupancy: string;
25
+ }[];
26
+ };
27
+ export type SegmentType = 'New customers' | 'Returning (2–3 matches)' | 'Frequent (4+ matches)' | 'Corporate accounts';
28
+ export type SaleCustomer = {
29
+ uniqueCustomers: number;
30
+ repeatCustomers: number;
31
+ averageTicketsPerCustomer: string;
32
+ segments: {
33
+ type: SegmentType;
34
+ customers: number;
35
+ share: number;
36
+ averageTickets: number;
37
+ preferredChannel: string;
38
+ }[];
39
+ };
40
+ export type SaleFlows = {
41
+ events: {
42
+ name: string;
43
+ ticketsSold: number;
44
+ revenue: number;
45
+ orders: number;
46
+ flows: {
47
+ name: string;
48
+ ticketsSold: number;
49
+ revenue: number;
50
+ categories: {
51
+ name: string;
52
+ ticketsSold: number;
53
+ revenue: number;
54
+ }[];
55
+ sectors: {
56
+ name: string;
57
+ ticketsSold: number;
58
+ revenue: number;
59
+ }[];
60
+ users: {
61
+ name: string;
62
+ ticketsSold: number;
63
+ revenue: number;
64
+ }[];
65
+ }[];
66
+ }[];
67
+ };
68
+ export type SaleSectors = {
69
+ totalStadiumCapacity: number;
70
+ ticketsSold: number;
71
+ bestSellingSector: number;
72
+ events: {
73
+ name: string;
74
+ ticketsSold: number;
75
+ revenue: number;
76
+ orders: number;
77
+ sectors: {
78
+ name: string;
79
+ category: string;
80
+ capacity: number;
81
+ ticketsSold: number;
82
+ occupancy: number;
83
+ averagePrice: number;
84
+ revenue: number;
85
+ }[];
86
+ }[];
87
+ };
88
+ export type PSPType = 'Cash at box office' | 'Visa / Mastercard' | 'Apple Pay / Google Pay' | 'Bank transfer (corporate)';
89
+ export type SalePayments = {
90
+ totalRevenue: number;
91
+ paymentSuccessRate: number;
92
+ refunds: number;
93
+ paymentMethods: {
94
+ method: PSPType;
95
+ transactions: number;
96
+ success: number;
97
+ failed: number;
98
+ revenue: number;
99
+ averageTicket: number;
100
+ }[];
101
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiliaze/global-vars",
3
- "version": "1.203.0",
3
+ "version": "1.205.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "sideEffects": false,
@@ -22,7 +22,7 @@
22
22
  "scripts": {
23
23
  "build": "tsc",
24
24
  "pub": "npm publish --access public",
25
- "git": "git add .; git commit -m 'changes'; git tag -a v1.203.0 -m 'v1.203.0'; git push origin v1.203.0; git push",
25
+ "git": "git add .; git commit -m 'changes'; git tag -a v1.205.0 -m 'v1.205.0'; git push origin v1.205.0; git push",
26
26
  "push": "npm run build; npm run git; npm run pub"
27
27
  },
28
28
  "author": "Ibi Hasanli",