@sellout/models 0.0.186 → 0.0.187-alpha.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.
Files changed (36) hide show
  1. package/.dist/graphql/queries/order.query.js +0 -1
  2. package/.dist/graphql/queries/order.query.js.map +1 -1
  3. package/.dist/graphql/queries/orders.query.js +0 -1
  4. package/.dist/graphql/queries/orders.query.js.map +1 -1
  5. package/.dist/interfaces/ICreateOrderParams.d.ts +0 -2
  6. package/.dist/interfaces/IFee.d.ts +0 -1
  7. package/.dist/interfaces/IOrder.d.ts +1 -2
  8. package/.dist/interfaces/IOrder.js.map +1 -1
  9. package/.dist/interfaces/IOrderSummary.d.ts +0 -1
  10. package/.dist/schemas/Order.d.ts +0 -81
  11. package/.dist/schemas/Order.js +0 -81
  12. package/.dist/schemas/Order.js.map +1 -1
  13. package/.dist/sellout-proto.js +118 -1014
  14. package/.dist/utils/OrderUtil.js +195 -111
  15. package/.dist/utils/OrderUtil.js.map +1 -1
  16. package/.dist/utils/PaymentUtil.d.ts +2 -2
  17. package/.dist/utils/PaymentUtil.js +198 -190
  18. package/.dist/utils/PaymentUtil.js.map +1 -1
  19. package/package.json +3 -3
  20. package/src/graphql/queries/order.query.ts +0 -1
  21. package/src/graphql/queries/orders.query.ts +0 -1
  22. package/src/interfaces/ICreateOrderParams.ts +0 -2
  23. package/src/interfaces/IFee.ts +0 -2
  24. package/src/interfaces/IOrder.ts +1 -2
  25. package/src/interfaces/IOrderSummary.ts +0 -1
  26. package/src/proto/email.proto +2 -0
  27. package/src/proto/event.proto +3 -0
  28. package/src/proto/fee.proto +0 -1
  29. package/src/proto/order.proto +1 -35
  30. package/src/schemas/Order.ts +0 -81
  31. package/src/utils/OrderUtil.ts +219 -128
  32. package/src/utils/PaymentUtil.ts +269 -243
  33. package/.dist/graphql/mutations/sendSeasonOrderReceiptEmail.mutation.d.ts +0 -2
  34. package/.dist/graphql/mutations/sendSeasonOrderReceiptEmail.mutation.js +0 -13
  35. package/.dist/graphql/mutations/sendSeasonOrderReceiptEmail.mutation.js.map +0 -1
  36. package/src/graphql/mutations/sendSeasonOrderReceiptEmail.mutation.ts +0 -9
@@ -25,7 +25,6 @@ export default interface IOrder {
25
25
  venueIds: string[];
26
26
  artistIds: string[];
27
27
  feeIds: string[]; // BACKFILL
28
- fees: IFee[];
29
28
  stripeChargeId?: string; // BACKFILL
30
29
  tickets: IOrderTicket[];
31
30
  upgrades: IOrderUpgrade[];
@@ -61,7 +60,7 @@ export interface ISeasonGraphQL extends ISeason {
61
60
 
62
61
  export interface IOrderGraphQL extends IOrder {
63
62
  user: IUser;
64
- fees: IFee[];
63
+ fees: IFee;
65
64
  event: IEventGraphQL;
66
65
  season: ISeasonGraphQL;
67
66
  };
@@ -22,7 +22,6 @@ export default interface IOrderSummary {
22
22
  selloutFee: number | string;
23
23
  stripeFee: number | string;
24
24
  promoterFee: number | string;
25
- salesTaxFee: number | string;
26
25
  createdAt: number | string;
27
26
  allTickets:IOrderSummaryItem[];
28
27
  tickets: IOrderSummaryItem[];
@@ -218,6 +218,7 @@ message QueueOrderRefundEmailRequest {
218
218
  string refundReason = 27;
219
219
  repeated dayIdsTimeObj dayIdsTime = 28;
220
220
  repeated dayIdsTimeObj dayIdsTimeCalendar = 29;
221
+ string timezone = 30;
221
222
  // string ticketDeliveryType = 30;
222
223
  // string physicalDeliveryInstructions = 31;
223
224
  }
@@ -253,6 +254,7 @@ message QueueOrderCanceledEmailRequest {
253
254
  string refundReason = 27;
254
255
  repeated dayIdsTimeObj dayIdsTime = 28;
255
256
  repeated dayIdsTimeObj dayIdsTimeCalendar = 29;
257
+ string timezone = 30;
256
258
  }
257
259
 
258
260
 
@@ -72,6 +72,8 @@ message PublicEvent {
72
72
  int32 endsAt = 23;
73
73
  string venue = 24;
74
74
  string status = 25;
75
+ string venueTimezone = 26;
76
+ int32 announceAt = 27;
75
77
  }
76
78
 
77
79
  message PublicEventDetails {
@@ -304,6 +306,7 @@ message QueryEventsResponse {
304
306
 
305
307
  message QueryEventsListRequest {
306
308
  string spanContext = 0;
309
+ string orgId = 1;
307
310
  }
308
311
 
309
312
 
@@ -21,7 +21,6 @@ message Fee {
21
21
  int32 updatedAt = 14;
22
22
  bool disabled = 15;
23
23
  string seasonId = 16;
24
- string amount = 17;
25
24
  }
26
25
 
27
26
  /****************************************************************************************
@@ -39,7 +39,6 @@ message Order {
39
39
  bool hidden = 28;
40
40
  bool printed = 29;
41
41
  string parentSeasonOrderId = 30;
42
- repeated orderFees fees = 31;
43
42
  }
44
43
  message ProcessingFees {
45
44
  Refund refund = 0;
@@ -68,28 +67,6 @@ message OrderTicket {
68
67
  bool guestTicket = 18;
69
68
  }
70
69
 
71
- message orderFees {
72
- string _id = 0;
73
- string name = 1;
74
- string orgId = 2;
75
- string eventId = 3;
76
- string type = 4;
77
- double value = 5;
78
- string appliedTo = 6;
79
- string appliedBy = 7;
80
- int32 minAppliedToPrice = 8;
81
- int32 maxAppliedToPrice = 9;
82
- repeated string filters = 10;
83
- string createdBy = 11;
84
- int32 createdAt = 12;
85
- string updatedBy = 13;
86
- int32 updatedAt = 14;
87
- bool disabled = 15;
88
- string seasonId = 16;
89
- string amount = 17;
90
-
91
- }
92
-
93
70
  message TeiMemberInfoParams {
94
71
  string firstName = 0;
95
72
  string lastName = 1;
@@ -498,14 +475,6 @@ message FindOrderByEventIdResponse{
498
475
  int32 ticketUnscanned = 5;
499
476
  }
500
477
 
501
- message FindEventOrderCountResponse{
502
- StatusCode status = 0;
503
- repeated Error errors = 1;
504
- int32 eventOrderCount = 2;
505
- }
506
-
507
-
508
-
509
478
  message FindOrderByFeeIdRequest {
510
479
  string spanContext = 0;
511
480
  string feeId = 1;
@@ -638,7 +607,6 @@ message GetPromoUsedResponse {
638
607
  }
639
608
 
640
609
 
641
-
642
610
  service OrderService {
643
611
  // Create
644
612
  rpc createOrder(CreateOrderRequest) returns (CreateOrderResponse) {}
@@ -647,7 +615,7 @@ service OrderService {
647
615
  rpc createSeasonOrderPaymentIntent(CreateSeasonOrderPaymentIntentRequest) returns (CreateOrderPaymentIntentResponse) {}
648
616
  // QR Code
649
617
  rpc sendOrderQRCodeEmail(SendOrderQRCodeEmailRequest) returns (SendOrderQRCodeEmailResponse) {}
650
- rpc sendSeasonOrderReceiptEmail(SendOrderReceiptEmailRequest) returns (SendOrderReceiptEmailResponse) {}
618
+ rpc sendSeasonOrderReceiptEmail(SendOrderQRCodeEmailRequest) returns (SendOrderQRCodeEmailResponse) {}
651
619
  rpc sendOrderReceiptEmail(SendOrderReceiptEmailRequest) returns (SendOrderReceiptEmailResponse) {}
652
620
  rpc sendOrderRefundEmail(SendOrderRefundEmailRequest) returns (SendOrderRefundEmailResponse) {}
653
621
  rpc resendOrderRefundEmail(SendOrderRefundEmailRequest) returns (SendOrderRefundEmailResponse) {}
@@ -668,11 +636,9 @@ service OrderService {
668
636
  // Report
669
637
  rpc generateOrderReport(GenerateOrderReportRequest) returns (GenerateOrderReportResponse) {}
670
638
  // Find
671
- rpc generateActivityReport(GenerateOrderReportRequest) returns (GenerateOrderReportResponse) {}
672
639
  rpc queryOrders(QueryOrdersRequest) returns (QueryOrdersResponse) {}
673
640
  rpc findOrderById(FindOrderByIdRequest) returns (FindOrderByIdResponse) {}
674
641
  rpc findOrderByEventId(FindOrderByEventIdRequest) returns (FindOrderByEventIdResponse) {}
675
- rpc eventOrderCount(FindOrderByEventIdRequest) returns (FindEventOrderCountResponse) {}
676
642
  rpc findOrderByFeeId(FindOrderByFeeIdRequest) returns (FindOrderByIdResponse) {}
677
643
  rpc findOrderByEmail(FindOrderByEmailRequest) returns (FindOrderByEmailResponse) {}
678
644
  rpc queryOrderAnalytics(QueryOrderAnalyticsRequest) returns (QueryOrderAnalyticsResponse) {}
@@ -46,86 +46,6 @@ const Scan = {
46
46
  required: false,
47
47
  }
48
48
  };
49
- const Fees = {
50
- _id: {
51
- type: String,
52
- required: false,
53
- },
54
- name: {
55
- type: String,
56
- required: false,
57
- },
58
- orgId: {
59
- type: String,
60
- required: false,
61
- default: null,
62
- },
63
- eventId: {
64
- type: String,
65
- required: false,
66
- default: null,
67
- }, seasonId: {
68
- type: String,
69
- required: false,
70
- default: null,
71
- },
72
- type: {
73
- type: String,
74
- required: false,
75
- },
76
- value: {
77
- type: Number,
78
- required: false,
79
- },
80
- appliedTo: {
81
- type: String,
82
- required: false,
83
- },
84
- appliedBy: {
85
- type: String,
86
- required: false,
87
- },
88
- minAppliedToPrice: {
89
- type: Number,
90
- required: false,
91
- default: null,
92
- },
93
- maxAppliedToPrice: {
94
- type: Number,
95
- required: false,
96
- default: null,
97
- },
98
- filters: [{
99
- type: String,
100
- required: false,
101
- default: [],
102
- }],
103
- createdBy: {
104
- type: String,
105
- required: false,
106
- },
107
- createdAt: {
108
- type: Number,
109
- required: false,
110
- },
111
- updatedBy: {
112
- type: String,
113
- required: false,
114
- },
115
- updatedAt: {
116
- type: Number,
117
- required: false,
118
- },
119
- disabled: {
120
- type: Boolean,
121
- required: false,
122
- default: false,
123
- },
124
- amount: {
125
- type: String,
126
- required: false,
127
- },
128
- };
129
49
  const TeiMemberInfoInput = {
130
50
  firstName: {
131
51
  type: String,
@@ -391,7 +311,6 @@ export default {
391
311
  required: false,
392
312
  },
393
313
  tickets: [OrderTicket],
394
- fees: [Fees],
395
314
  upgrades: [OrderUpgrade],
396
315
  recipientEmails: [{
397
316
  type: String,
@@ -28,7 +28,7 @@ export default {
28
28
  upgrades: order.upgrades.filter(upgrade => upgrade.paymentId === payment._id),
29
29
  fees: fees,
30
30
  paymentMethodType: payment.paymentMethodType,
31
- }).total || 0;
31
+ })
32
32
  }, 0);
33
33
  } else {
34
34
  if (
@@ -40,124 +40,212 @@ export default {
40
40
  if (!order.tickets) order.tickets = [];
41
41
  if (!order.upgrades) order.upgrades = [];
42
42
 
43
- // console.log("order ++++++++++>>>",order);
44
-
45
-
46
- // const ticketFees = fees.filter(f => f.appliedTo === "Ticket");
47
- // const upgradeFees = fees.filter(f => f.appliedTo === "Upgrade");
48
- // let orderFees = fees.filter(f => f.appliedTo === "Order");
49
-
50
- // function applyTicketFee(ticket, fee) {
51
- // if (fee.filters.includes("Seated") && !ticket.seat) return 0;
52
- // const noMax = fee.maxAppliedToPrice === 0;
53
- // if (
54
- // (fee.minAppliedToPrice <= ticket.price &&
55
- // ticket.price <= fee.maxAppliedToPrice) ||
56
- // noMax
57
- // ) {
58
- // if (fee.type === "Flat") {
59
- // return fee.value;
60
- // }
61
- // if (fee.type === "Percent") {
62
- // return (ticket.price * fee.value) / 100;
63
- // }
64
- // } else {
65
- // return 0;
66
- // }
67
- // }
68
-
69
- // function applyUpgradeFee(upgrade, fee) {
70
- // const noMax = fee.maxAppliedToPrice === 0;
71
- // if (
72
- // (fee.minAppliedToPrice <= upgrade.price &&
73
- // upgrade.price <= fee.minAppliedToPrice) ||
74
- // noMax
75
- // ) {
76
- // if (fee.type === "Flat") {
77
- // return fee.value;
78
- // }
79
- // if (fee.type === "Percent") {
80
- // return (upgrade.price * fee.value) / 100;
81
- // }
82
- // } else {
83
- // return 0;
84
- // }
85
- // }
86
-
87
- // function applyOrderFee(orderSubtotal, fee) {
88
- // if (fee.type === "Flat") {
89
- // return orderSubtotal + fee.value;
90
- // }
91
- // if (fee.type === "Percent") {
92
- // return orderSubtotal / (1 - fee.value / 100);
93
- // }
94
- // }
95
-
96
- // const ticketTotal = order.tickets.reduce(
97
- // (cur, ticket) => cur + ticket.price,
98
- // 0
99
- // );
100
-
101
- // const ticketFeeTotal = order.tickets.reduce((cur, ticket) => {
102
- // return (
103
- // cur +
104
- // ticketFees.reduce((cur, fee) => cur + applyTicketFee(ticket, fee), 0)
105
- // );
106
- // }, 0);
107
-
108
- // const upgradeTotal = order.upgrades.reduce(
109
- // (cur, upgrade) => cur + upgrade.price,
110
- // 0
111
- // );
112
-
113
- // const upgradeFeeTotal = order.upgrades.reduce((cur, upgrade) => {
114
- // return (
115
- // cur +
116
- // upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0)
117
- // );
118
- // }, 0);
119
- // const orderSubtotal =
120
- // ticketTotal + ticketFeeTotal + upgradeTotal + upgradeFeeTotal;
121
-
122
- // // Order matters here. Flat type fees must be
123
- // // applied before Percent type fees
124
- // orderFees = orderFees.sort(({ type }) => {
125
- // if (type === "Flat") return -1;
126
- // return 1;
127
- // });
128
-
129
- // const orderTotal = orderFees.reduce((cur, fee) => {
130
- // return applyOrderFee(cur, fee);
131
- // }, orderSubtotal) || 0;
132
-
133
- // console.log("orderTotal orderTotal+++++>>",orderTotal );
134
-
135
- // return Math.round(orderTotal);
43
+ const ticketFees = fees.filter(f => f.appliedTo === "Ticket");
44
+ const upgradeFees = fees.filter(f => f.appliedTo === "Upgrade");
45
+ let orderFees = fees.filter(f => f.appliedTo === "Order");
46
+
47
+ function applyTicketFee(ticket, fee) {
48
+ if (fee.filters.includes("Seated") && !ticket.seat) return 0;
49
+ const noMax = fee.maxAppliedToPrice === 0;
50
+ if (
51
+ (fee.minAppliedToPrice <= ticket.price &&
52
+ ticket.price <= fee.maxAppliedToPrice) ||
53
+ noMax
54
+ ) {
55
+ if (fee.type === "Flat") {
56
+ return fee.value;
57
+ }
58
+ if (fee.type === "Percent") {
59
+ return (ticket.price * fee.value) / 100;
60
+ }
61
+ } else {
62
+ return 0;
63
+ }
64
+ }
65
+
66
+ function applyUpgradeFee(upgrade, fee) {
67
+ const noMax = fee.maxAppliedToPrice === 0;
68
+ if (
69
+ (fee.minAppliedToPrice <= upgrade.price &&
70
+ upgrade.price <= fee.minAppliedToPrice) ||
71
+ noMax
72
+ ) {
73
+ if (fee.type === "Flat") {
74
+ return fee.value;
75
+ }
76
+ if (fee.type === "Percent") {
77
+ return (upgrade.price * fee.value) / 100;
78
+ }
79
+ } else {
80
+ return 0;
81
+ }
82
+ }
136
83
 
84
+ function applyOrderFee(orderSubtotal, fee) {
85
+ if (fee.type === "Flat") {
86
+ return orderSubtotal + fee.value;
87
+ }
88
+ if (fee.type === "Percent") {
89
+ return orderSubtotal / (1 - fee.value / 100);
90
+ }
91
+ }
137
92
 
138
93
  const ticketTotal = order.tickets.reduce(
139
94
  (cur, ticket) => cur + ticket.price,
140
95
  0
141
96
  );
142
97
 
98
+ const ticketFeeTotal = order.tickets.reduce((cur, ticket) => {
99
+ return (
100
+ cur +
101
+ ticketFees.reduce((cur, fee) => cur + applyTicketFee(ticket, fee), 0)
102
+ );
103
+ }, 0);
104
+
143
105
  const upgradeTotal = order.upgrades.reduce(
144
106
  (cur, upgrade) => cur + upgrade.price,
145
107
  0
146
108
  );
147
- // console.log("++++>>>>>>/ fees", fees)
148
- const totalFee = fees.reduce(
149
- (cur, fee) => cur + parseInt(fee.amount),
150
- 0
151
- );
152
- // console.log("++++>>>>>>", ticketTotal, upgradeTotal, totalFee)
109
+
110
+ const upgradeFeeTotal = order.upgrades.reduce((cur, upgrade) => {
111
+ return (
112
+ cur +
113
+ upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0)
114
+ );
115
+ }, 0);
153
116
  const orderSubtotal =
154
- ticketTotal + upgradeTotal + totalFee;
155
- // console.log("++++",orderSubtotal)
156
- return Math.round(orderSubtotal);
117
+ ticketTotal + ticketFeeTotal + upgradeTotal + upgradeFeeTotal;
118
+
119
+ // Order matters here. Flat type fees must be
120
+ // applied before Percent type fees
121
+ orderFees = orderFees.sort(({ type }) => {
122
+ if (type === "Flat") return -1;
123
+ return 1;
124
+ });
157
125
 
126
+ const orderTotal = orderFees.reduce((cur, fee) => {
127
+ return applyOrderFee(cur, fee);
128
+ }, orderSubtotal);
129
+
130
+ return Math.round(orderTotal);
158
131
  }
159
132
  },
160
133
 
134
+ // orderTotalExport(order: IOrder, fees: any[]): number {
135
+ // if (order?.payments && order?.payments.length > 0) {
136
+ // return order.payments.reduce((cur: number, payment: IPayment): number => {
137
+ // const paymentTickets = order.tickets.filter(ticket => ticket.paymentId === payment._id)
138
+ // const paymentUpgrades = order.upgrades.filter(upgrade => upgrade.paymentId === payment._id)
139
+ // const total = PaymentUtil.calculatePaymentTotalDublicate({
140
+ // tickets: paymentTickets,
141
+ // upgrades: paymentUpgrades,
142
+ // fees: fees,
143
+ // paymentMethodType: payment.paymentMethodType,
144
+ // })
145
+ // return cur + total
146
+ // }, 0);
147
+ // } else {
148
+ // if (
149
+ // (!order.tickets || !order.tickets.length) &&
150
+ // (!order.upgrades || !order.upgrades.length)
151
+ // )
152
+ // return 0;
153
+
154
+ // if (!order.tickets) order.tickets = [];
155
+ // if (!order.upgrades) order.upgrades = [];
156
+
157
+ // const ticketFees = fees.filter(f => f.appliedTo === "Ticket");
158
+ // const upgradeFees = fees.filter(f => f.appliedTo === "Upgrade");
159
+ // let orderFees = fees.filter(f => f.appliedTo === "Order");
160
+
161
+ // function applyTicketFee(ticket, fee) {
162
+ // if (fee.filters.includes("Seated") && !ticket.seat) return 0;
163
+ // const noMax = fee.maxAppliedToPrice === 0;
164
+ // if (
165
+ // (fee.minAppliedToPrice <= ticket.price &&
166
+ // ticket.price <= fee.maxAppliedToPrice) ||
167
+ // noMax
168
+ // ) {
169
+ // if (fee.type === "Flat") {
170
+ // return fee.value;
171
+ // }
172
+ // if (fee.type === "Percent") {
173
+ // return (ticket.price * fee.value) / 100;
174
+ // }
175
+ // } else {
176
+ // return 0;
177
+ // }
178
+ // }
179
+
180
+ // function applyUpgradeFee(upgrade, fee) {
181
+ // const noMax = fee.maxAppliedToPrice === 0;
182
+ // if (
183
+ // (fee.minAppliedToPrice <= upgrade.price &&
184
+ // upgrade.price <= fee.minAppliedToPrice) ||
185
+ // noMax
186
+ // ) {
187
+ // if (fee.type === "Flat") {
188
+ // return fee.value;
189
+ // }
190
+ // if (fee.type === "Percent") {
191
+ // return (upgrade.price * fee.value) / 100;
192
+ // }
193
+ // } else {
194
+ // return 0;
195
+ // }
196
+ // }
197
+
198
+ // function applyOrderFee(orderSubtotal, fee) {
199
+ // if (fee.type === "Flat") {
200
+ // return orderSubtotal + fee.value;
201
+ // }
202
+ // if (fee.type === "Percent") {
203
+ // return orderSubtotal / (1 - fee.value / 100);
204
+ // }
205
+ // }
206
+
207
+ // const ticketTotal = order.tickets.reduce(
208
+ // (cur, ticket) => cur + ticket.price,
209
+ // 0
210
+ // );
211
+
212
+ // const ticketFeeTotal = order.tickets.reduce((cur, ticket) => {
213
+ // return (
214
+ // cur +
215
+ // ticketFees.reduce((cur, fee) => cur + applyTicketFee(ticket, fee), 0)
216
+ // );
217
+ // }, 0);
218
+
219
+ // const upgradeTotal = order.upgrades.reduce(
220
+ // (cur, upgrade) => cur + upgrade.price,
221
+ // 0
222
+ // );
223
+
224
+ // const upgradeFeeTotal = order.upgrades.reduce((cur, upgrade) => {
225
+ // return (
226
+ // cur +
227
+ // upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0)
228
+ // );
229
+ // }, 0);
230
+ // const orderSubtotal =
231
+ // ticketTotal + ticketFeeTotal + upgradeTotal + upgradeFeeTotal;
232
+
233
+ // // Order matters here. Flat type fees must be
234
+ // // applied before Percent type fees
235
+ // orderFees = orderFees.sort(({ type }) => {
236
+ // if (type === "Flat") return -1;
237
+ // return 1;
238
+ // });
239
+
240
+ // const orderTotal = orderFees.reduce((cur, fee) => {
241
+ // return applyOrderFee(cur, fee);
242
+ // }, orderSubtotal);
243
+
244
+ // return Math.round(orderTotal);
245
+ // }
246
+ // },
247
+
248
+
161
249
 
162
250
  guestFees(order: IOrder, fees: IFee[]): any {
163
251
  let guestTicketFees = fees.find(
@@ -202,37 +290,23 @@ export default {
202
290
  const orderTotal = this.orderTotal(order, fees);
203
291
  return orderTotal - (order.refundedAmount || 0);
204
292
  },
293
+ // orderExportTotalWithRefund(order, fees) {
294
+ // const orderTotal = this.orderTotalExport(order, fees);
295
+ // return orderTotal - (order.refundedAmount || 0);
296
+ // },
205
297
  orderTransferAmountWithRefund(order, fees) {
206
298
  const promoterFees = FeeUtil.promoterFees(fees);
207
299
  return this.orderTotalWithRefund(order, promoterFees);
208
300
  },
209
301
  orderSubtotal(order: IOrder): number {
210
- let subTotal;
211
- if (order.payments) {
212
- subTotal = order?.payments?.reduce((cur: number, payment: IPayment): number => {
213
- return cur + PaymentUtil.calculatePaymentSubtotal({
214
- tickets: order.tickets.filter(ticket => ticket.paymentId === payment._id),
215
- upgrades: order.upgrades.filter(upgrade => upgrade.paymentId === payment._id),
216
- fees: [],
217
- paymentMethodType: payment.paymentMethodType,
218
- })
219
- }, 0);
220
- } else {
221
- subTotal = PaymentUtil.calculatePaymentSubtotalValue({
222
- tickets: order.tickets,
223
- upgrades: order.upgrades
302
+ const subTotal = order?.payments?.reduce((cur: number, payment: IPayment): number => {
303
+ return cur + PaymentUtil.calculatePaymentSubtotal({
304
+ tickets: order.tickets.filter(ticket => ticket.paymentId === payment._id),
305
+ upgrades: order.upgrades.filter(upgrade => upgrade.paymentId === payment._id),
306
+ fees: [],
307
+ paymentMethodType: payment.paymentMethodType,
224
308
  })
225
- }
226
-
227
-
228
- // order?.payments?.reduce((cur: number, payment: IPayment): number => {
229
- // return cur + PaymentUtil.calculatePaymentSubtotal({
230
- // tickets: order.tickets.filter(ticket => ticket.paymentId === payment._id),
231
- // upgrades: order.upgrades.filter(upgrade => upgrade.paymentId === payment._id),
232
- // fees: [],
233
- // paymentMethodType: payment.paymentMethodType,
234
- // })
235
- // }, 0);
309
+ }, 0);
236
310
 
237
311
  return subTotal || 0
238
312
  },
@@ -283,6 +357,12 @@ export default {
283
357
  return this.orderTotal(order, fees) - this.orderSubtotal(order);
284
358
  },
285
359
 
360
+ // selloutExortFees(order, fees) {
361
+ // if (!order.tickets) order.tickets = [];
362
+ // if (!order.upgrades) order.upgrades = [];
363
+ // fees = FeeUtil.selloutFees(fees);
364
+ // return this.orderTotalExport(order, fees) - this.orderSubtotal(order);
365
+ // },
286
366
  // This one is special because stripe fees
287
367
  // can be applied as a percentage
288
368
  stripeFees(order, fees) {
@@ -297,6 +377,17 @@ export default {
297
377
  return stripeFeeT;
298
378
  },
299
379
 
380
+ // stripeFeesExport(order, fees) {
381
+ // if (!order.tickets) order.tickets = [];
382
+ // if (!order.upgrades) order.upgrades = [];
383
+ // const total = this.orderTotalExport(order, fees);
384
+ // const subtotal = this.orderSubtotal(order);
385
+ // const selloutFees = this.selloutExortFees(order, fees);
386
+ // const promoterFees = this.promoterFees(order, fees);
387
+ // let stripeFee = total - subtotal - selloutFees - promoterFees;
388
+ // let stripeFeeT = stripeFee < 0 ? 0 : stripeFee;
389
+ // return stripeFeeT;
390
+ // },
300
391
  promoterFees(order, fees) {
301
392
  if (!order.tickets) order.tickets = [];
302
393
  if (!order.upgrades) order.upgrades = [];