@sellout/models 0.0.184 → 0.0.185

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.
@@ -39,6 +39,7 @@ message Order {
39
39
  bool hidden = 28;
40
40
  bool printed = 29;
41
41
  string parentSeasonOrderId = 30;
42
+ repeated orderFees fees = 31;
42
43
  }
43
44
  message ProcessingFees {
44
45
  Refund refund = 0;
@@ -67,6 +68,28 @@ message OrderTicket {
67
68
  bool guestTicket = 18;
68
69
  }
69
70
 
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
+ int32 amount = 17;
90
+
91
+ }
92
+
70
93
  message TeiMemberInfoParams {
71
94
  string firstName = 0;
72
95
  string lastName = 1;
@@ -615,7 +638,7 @@ service OrderService {
615
638
  rpc createSeasonOrderPaymentIntent(CreateSeasonOrderPaymentIntentRequest) returns (CreateOrderPaymentIntentResponse) {}
616
639
  // QR Code
617
640
  rpc sendOrderQRCodeEmail(SendOrderQRCodeEmailRequest) returns (SendOrderQRCodeEmailResponse) {}
618
- rpc sendSeasonOrderReceiptEmail(SendOrderQRCodeEmailRequest) returns (SendOrderQRCodeEmailResponse) {}
641
+ rpc sendSeasonOrderReceiptEmail(SendOrderReceiptEmailRequest) returns (SendOrderReceiptEmailResponse) {}
619
642
  rpc sendOrderReceiptEmail(SendOrderReceiptEmailRequest) returns (SendOrderReceiptEmailResponse) {}
620
643
  rpc sendOrderRefundEmail(SendOrderRefundEmailRequest) returns (SendOrderRefundEmailResponse) {}
621
644
  rpc resendOrderRefundEmail(SendOrderRefundEmailRequest) returns (SendOrderRefundEmailResponse) {}
@@ -46,6 +46,86 @@ 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: Number,
126
+ required: false,
127
+ },
128
+ };
49
129
  const TeiMemberInfoInput = {
50
130
  firstName: {
51
131
  type: String,
@@ -311,6 +391,7 @@ export default {
311
391
  required: false,
312
392
  },
313
393
  tickets: [OrderTicket],
394
+ fees: [Fees],
314
395
  upgrades: [OrderUpgrade],
315
396
  recipientEmails: [{
316
397
  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
- })
31
+ }).total
32
32
  }, 0);
33
33
  } else {
34
34
  if (
@@ -131,121 +131,6 @@ export default {
131
131
  }
132
132
  },
133
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
-
249
134
 
250
135
  guestFees(order: IOrder, fees: IFee[]): any {
251
136
  let guestTicketFees = fees.find(
@@ -290,10 +175,6 @@ export default {
290
175
  const orderTotal = this.orderTotal(order, fees);
291
176
  return orderTotal - (order.refundedAmount || 0);
292
177
  },
293
- // orderExportTotalWithRefund(order, fees) {
294
- // const orderTotal = this.orderTotalExport(order, fees);
295
- // return orderTotal - (order.refundedAmount || 0);
296
- // },
297
178
  orderTransferAmountWithRefund(order, fees) {
298
179
  const promoterFees = FeeUtil.promoterFees(fees);
299
180
  return this.orderTotalWithRefund(order, promoterFees);
@@ -357,12 +238,6 @@ export default {
357
238
  return this.orderTotal(order, fees) - this.orderSubtotal(order);
358
239
  },
359
240
 
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
- // },
366
241
  // This one is special because stripe fees
367
242
  // can be applied as a percentage
368
243
  stripeFees(order, fees) {
@@ -377,17 +252,6 @@ export default {
377
252
  return stripeFeeT;
378
253
  },
379
254
 
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
- // },
391
255
  promoterFees(order, fees) {
392
256
  if (!order.tickets) order.tickets = [];
393
257
  if (!order.upgrades) order.upgrades = [];