@sellout/models 0.0.161 → 0.0.162

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.
@@ -15,7 +15,8 @@ export declare enum FeeAppliedByEnum {
15
15
  export declare enum FeeFiltersEnum {
16
16
  Seated = "Seated",
17
17
  CardEntry = "Card Entry",
18
- CardReader = "Card Reader"
18
+ CardReader = "Card Reader",
19
+ GuestTicket = "Guest ticket"
19
20
  }
20
21
  export default interface IFee {
21
22
  _id?: string;
@@ -23,5 +23,6 @@ var FeeFiltersEnum;
23
23
  FeeFiltersEnum["Seated"] = "Seated";
24
24
  FeeFiltersEnum["CardEntry"] = "Card Entry";
25
25
  FeeFiltersEnum["CardReader"] = "Card Reader";
26
+ FeeFiltersEnum["GuestTicket"] = "Guest ticket";
26
27
  })(FeeFiltersEnum = exports.FeeFiltersEnum || (exports.FeeFiltersEnum = {}));
27
28
  //# sourceMappingURL=IFee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IFee.js","sourceRoot":"","sources":["../../src/interfaces/IFee.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;AAC/B,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,0CAAwB,CAAA;IACxB,4CAA0B,CAAA;AAC5B,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB"}
1
+ {"version":3,"file":"IFee.js","sourceRoot":"","sources":["../../src/interfaces/IFee.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,kCAAmB,CAAA;AACrB,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;IACjB,iDAA6B,CAAA;AAC/B,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,0CAAwB,CAAA;IACxB,4CAA0B,CAAA;IAC1B,8CAA4B,CAAA;AAC9B,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
@@ -1,6 +1,6 @@
1
- import { ICreateOrderTicketParams, ICreateOrderUpgradeParams } from '../interfaces/ICreateOrderParams';
2
- import IFee from '../interfaces/IFee';
3
- import { PaymentMethodTypeEnum } from '../enums/PaymentMethodTypeEnum';
1
+ import { ICreateOrderTicketParams, ICreateOrderUpgradeParams } from "../interfaces/ICreateOrderParams";
2
+ import IFee from "../interfaces/IFee";
3
+ import { PaymentMethodTypeEnum } from "../enums/PaymentMethodTypeEnum";
4
4
  interface IPaymentCalculatorParams {
5
5
  tickets: ICreateOrderTicketParams[];
6
6
  upgrades: ICreateOrderUpgradeParams[];
@@ -17,6 +17,7 @@ declare class PaymentUtil {
17
17
  calculatePlatformFee(params: IPaymentCalculatorParams): number;
18
18
  calculateStripeFee(params: IPaymentCalculatorParams): number;
19
19
  calculateProcessingFee(params: IPaymentCalculatorParams): number;
20
+ calculateGuestFee(tickets: any, event: any): number;
20
21
  }
21
22
  declare const _default: PaymentUtil;
22
23
  export default _default;
@@ -14,7 +14,7 @@ class PaymentUtil {
14
14
  // DOES NOT WORK! Work in Progress :)
15
15
  // calculateOrderItemPrices(params: IPaymentCalculatorParams): IOrderItems {
16
16
  // let {
17
- // tickets = [],
17
+ // tickets = [],
18
18
  // upgrades = [],
19
19
  // fees = [],
20
20
  // paymentMethodType,
@@ -103,41 +103,51 @@ class PaymentUtil {
103
103
  // };
104
104
  // },
105
105
  calculatePaymentTotal(params) {
106
- let { tickets = [], upgrades = [], fees = [], paymentMethodType, } = params;
106
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
107
107
  // No items, total is always 0
108
108
  if (!tickets.length && !upgrades.length)
109
109
  return 0;
110
110
  // Filter fees
111
111
  fees = fees.filter((fee) => {
112
112
  // Ignore card reader fees for non card reader payemnts
113
- if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.CardReader) && paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardReader) {
113
+ if (fee.filters &&
114
+ fee.filters.includes(IFee_1.FeeFiltersEnum.CardReader) &&
115
+ paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardReader) {
114
116
  return false;
115
117
  }
116
118
  // Ignore card entry fees for non card entry payemnts
117
- if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.CardEntry) && paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardEntry) {
119
+ if (fee.filters &&
120
+ fee.filters.includes(IFee_1.FeeFiltersEnum.CardEntry) &&
121
+ paymentMethodType !== PaymentMethodTypeEnum_1.PaymentMethodTypeEnum.CardEntry) {
118
122
  return false;
119
123
  }
120
124
  return true;
121
125
  });
122
- const ticketFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Ticket)
126
+ fees = fees.filter((fee) => fee.filters && fee.filters[0] !== IFee_1.FeeFiltersEnum.GuestTicket);
127
+ const ticketFees = fees
128
+ .filter((f) => f.appliedTo === IFee_1.FeeAppliedToEnum.Ticket)
123
129
  .sort(({ type }) => {
124
130
  if (type === IFee_1.FeeTypeEnum.Flat)
125
131
  return -1;
126
132
  else
127
133
  return 1;
128
134
  });
129
- const upgradeFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Upgrade);
135
+ const upgradeFees = fees.filter((f) => f.appliedTo === IFee_1.FeeAppliedToEnum.Upgrade);
130
136
  // Orders mattes here. Flat type fees must be applied before Percent type fees
131
- const orderFees = fees.filter(f => f.appliedTo === IFee_1.FeeAppliedToEnum.Order && f.name != 'Sales tax').sort(({ type }) => {
132
- if (type === 'Flat')
137
+ const orderFees = fees
138
+ .filter((f) => f.appliedTo === IFee_1.FeeAppliedToEnum.Order && f.name != "Sales tax")
139
+ .sort(({ type }) => {
140
+ if (type === "Flat")
133
141
  return -1;
134
142
  else
135
143
  return 1;
136
144
  });
137
- const salesTax = fees.filter(f => f.name == 'Sales tax');
145
+ const salesTax = fees.filter((f) => f.name == "Sales tax");
138
146
  function applyTicketFee(ticket, fee) {
139
147
  // Ignore seated fees if not seated
140
- if (fee.filters && fee.filters.includes(IFee_1.FeeFiltersEnum.Seated) && !ticket.seat) {
148
+ if (fee.filters &&
149
+ fee.filters.includes(IFee_1.FeeFiltersEnum.Seated) &&
150
+ !ticket.seat) {
141
151
  return 0;
142
152
  }
143
153
  const minFee = fee.minAppliedToPrice || 0;
@@ -147,7 +157,7 @@ class PaymentUtil {
147
157
  return fee.value;
148
158
  }
149
159
  if (fee.type === IFee_1.FeeTypeEnum.Percent) {
150
- return (ticket.price * fee.value / 100);
160
+ return (ticket.price * fee.value) / 100;
151
161
  }
152
162
  }
153
163
  else {
@@ -163,7 +173,7 @@ class PaymentUtil {
163
173
  return upgrade.price + fee.value;
164
174
  }
165
175
  if (fee.type === IFee_1.FeeTypeEnum.Percent) {
166
- return (upgrade.price * fee.value / 100);
176
+ return (upgrade.price * fee.value) / 100;
167
177
  }
168
178
  }
169
179
  else {
@@ -176,30 +186,39 @@ class PaymentUtil {
176
186
  return orderSubtotal + fee.value;
177
187
  }
178
188
  if (fee.type === IFee_1.FeeTypeEnum.Percent) {
179
- return (orderSubtotal / (1 - fee.value / 100));
189
+ return orderSubtotal / (1 - fee.value / 100);
180
190
  }
181
191
  }
182
192
  const ticketTotal = tickets.reduce((cur, ticket) => cur + ticket.price, 0);
183
193
  const ticketTaxFeeTotal = tickets.reduce((cur, ticket) => {
184
- return cur + salesTax.reduce((cur, fee) => {
185
- const value = cur + applyTicketFee(ticket, fee);
186
- return value;
187
- }, 0);
194
+ return (cur +
195
+ salesTax.reduce((cur, fee) => {
196
+ const value = cur + applyTicketFee(ticket, fee);
197
+ return value;
198
+ }, 0));
188
199
  }, 0);
189
200
  const ticketFeeTotal = tickets.reduce((cur, ticket) => {
190
- return cur + ticketFees.reduce((cur, fee) => {
191
- const value = cur + applyTicketFee(ticket, fee);
192
- return value;
193
- }, 0);
201
+ return (cur +
202
+ ticketFees.reduce((cur, fee) => {
203
+ const value = cur + applyTicketFee(ticket, fee);
204
+ return value;
205
+ }, 0));
194
206
  }, 0);
195
207
  const upgradeTotal = upgrades.reduce((cur, upgrade) => cur + upgrade.price, 0);
196
208
  const upgradeTaxFeeTotal = upgrades.reduce((cur, upgrade) => {
197
- return cur + salesTax.reduce((curr, fee) => curr + applyUpgradeFee(upgrade, fee), 0);
209
+ return (cur +
210
+ salesTax.reduce((curr, fee) => curr + applyUpgradeFee(upgrade, fee), 0));
198
211
  }, 0);
199
212
  const upgradeFeeTotal = upgrades.reduce((cur, upgrade) => {
200
- return cur + upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0);
213
+ return (cur +
214
+ upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0));
201
215
  }, 0);
202
- const orderSubtotal = Math.round(ticketTotal + ticketTaxFeeTotal + ticketFeeTotal + upgradeTaxFeeTotal + upgradeTotal + upgradeFeeTotal);
216
+ const orderSubtotal = Math.round(ticketTotal +
217
+ ticketTaxFeeTotal +
218
+ ticketFeeTotal +
219
+ upgradeTaxFeeTotal +
220
+ upgradeTotal +
221
+ upgradeFeeTotal);
203
222
  // console.log(`Order SubTotal:`, orderSubtotal);
204
223
  const orderTotal = orderFees.reduce((cur, fee) => {
205
224
  return applyOrderFee(cur, fee);
@@ -219,11 +238,11 @@ class PaymentUtil {
219
238
  }
220
239
  calculateFee(params) {
221
240
  let { fees } = params;
222
- const salesTax = fees.filter(f => f.name == 'Sales tax');
241
+ const salesTax = fees.filter((f) => f.name == "Sales tax");
223
242
  const tax = salesTax.length > 0 ? salesTax[0].value : 0;
224
243
  const total = this.calculatePaymentTotal(params);
225
244
  let subtotal = this.calculatePaymentSubtotal(params);
226
- subtotal = subtotal + (subtotal * tax / 100);
245
+ subtotal = subtotal + (subtotal * tax) / 100;
227
246
  return Math.round(total - subtotal);
228
247
  }
229
248
  calculateFeeWithoutTax(params) {
@@ -232,7 +251,7 @@ class PaymentUtil {
232
251
  return Math.round(total - subtotal);
233
252
  }
234
253
  calculateOrganizationFee(params) {
235
- let { tickets = [], upgrades = [], fees = [], paymentMethodType, } = params;
254
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
236
255
  fees = FeeUtil_1.default.promoterFees(fees);
237
256
  return this.calculateFee({
238
257
  tickets,
@@ -242,7 +261,7 @@ class PaymentUtil {
242
261
  });
243
262
  }
244
263
  calculateTaxFee(params) {
245
- let { tickets = [], upgrades = [], fees = [], paymentMethodType, } = params;
264
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
246
265
  fees = FeeUtil_1.default.taxFees(fees);
247
266
  return this.calculateFeeWithoutTax({
248
267
  tickets,
@@ -252,7 +271,7 @@ class PaymentUtil {
252
271
  });
253
272
  }
254
273
  calculatePlatformFee(params) {
255
- let { tickets = [], upgrades = [], fees = [], paymentMethodType, } = params;
274
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
256
275
  fees = FeeUtil_1.default.selloutFees(fees);
257
276
  return this.calculateFee({
258
277
  tickets,
@@ -274,6 +293,21 @@ class PaymentUtil {
274
293
  const organizationFee = this.calculateOrganizationFee(params);
275
294
  return total - subtotal - organizationFee;
276
295
  }
296
+ // calculateTaxFee(params: IPaymentCalculatorParams): number {
297
+ // const organizationFee = this.calculateTaxFee(params);
298
+ // console.log(organizationFee,'............................salesTax..')
299
+ // return organizationFee;
300
+ // }
301
+ calculateGuestFee(tickets, event) {
302
+ var _a;
303
+ let guestTicketFees = event === null || event === void 0 ? void 0 : event.fees.filter((fee) => fee.filters && fee.filters[0] === IFee_1.FeeFiltersEnum.GuestTicket);
304
+ let guestFeesValue = guestTicketFees && ((_a = guestTicketFees[0]) === null || _a === void 0 ? void 0 : _a.value);
305
+ let guestMembers = tickets.filter((a) => !a.isMemberIdValid).length;
306
+ let guestFees = guestFeesValue * guestMembers;
307
+ return guestTicketFees.length > 0 && event.organization.isTegIntegration
308
+ ? guestFees
309
+ : 0;
310
+ }
277
311
  }
278
312
  exports.default = new PaymentUtil();
279
313
  //# sourceMappingURL=PaymentUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentUtil.js","sourceRoot":"","sources":["../../src/utils/PaymentUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentUtil.js","sourceRoot":"","sources":["../../src/utils/PaymentUtil.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAKhC,6CAI4B;AAC5B,0EAAuE;AASvE,0BAA0B;AAC1B,yCAAyC;AACzC,2CAA2C;AAC3C,IAAI;AAEJ,MAAM,WAAW;IACf,qCAAqC;IACrC,4EAA4E;IAE5E,UAAU;IACV,oBAAoB;IACpB,qBAAqB;IACrB,iBAAiB;IACjB,yBAAyB;IACzB,gBAAgB;IAEhB,mBAAmB;IACnB,wCAAwC;IACxC,8DAA8D;IAC9D,sIAAsI;IACtI,sBAAsB;IACtB,QAAQ;IAER,4DAA4D;IAC5D,oIAAoI;IACpI,sBAAsB;IACtB,QAAQ;IAER,mBAAmB;IACnB,QAAQ;IAER,iFAAiF;IACjF,4BAA4B;IAC5B,kDAAkD;IAClD,uBAAuB;IACvB,UAAU;IACV,oFAAoF;IACpF,mFAAmF;IACnF,+EAA+E;IAC/E,0BAA0B;IAC1B,mDAAmD;IACnD,qBAAqB;IACrB,OAAO;IACP,kBAAkB;IAClB,0CAA0C;IAC1C,iBAAiB;IACjB,kBAAkB;IAClB,6CAA6C;IAC7C,UAAU;IACV,QAAQ;IACR,uBAAuB;IACvB,QAAQ;IAER,sGAAsG;IACtG,4BAA4B;IAC5B,wFAAwF;IACxF,sBAAsB;IACtB,QAAQ;IAER,iDAAiD;IACjD,wDAAwD;IAExD,gDAAgD;IAChD,oBAAoB;IACpB,6CAA6C;IAC7C,oCAAoC;IACpC,kDAAkD;IAClD,gDAAgD;IAChD,UAAU;IACV,QAAQ;IAER,gDAAgD;IAChD,iDAAiD;IACjD,WAAW;IAEX,6CAA6C;IAC7C,qCAAqC;IACrC,WAAW;IAEX,oBAAoB;IACpB,MAAM;IAEN,8EAA8E;IAC9E,gDAAgD;IAEhD,qDAAqD;IAErD,4CAA4C;IAC5C,wDAAwD;IACxD,qBAAqB;IACrB,wBAAwB;IAExB,MAAM;IAEN,4FAA4F;IAC5F,8DAA8D;IAC9D,wCAAwC;IACxC,eAAe;IACf,mBAAmB;IACnB,eAAe;IACf,QAAQ;IACR,QAAQ;IAER,oGAAoG;IACpG,kBAAkB;IAClB,uBAAuB;IACvB,kDAAkD;IAClD,WAAW;IACX,WAAW;IAEX,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,OAAO;IACP,KAAK;IACL,qBAAqB,CAAC,MAAgC;QACpD,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAE3E,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC;QAElD,cAAc;QACd,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAS,EAAE,EAAE;YAC/B,uDAAuD;YACvD,IACE,GAAG,CAAC,OAAO;gBACX,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAc,CAAC,UAAU,CAAC;gBAC/C,iBAAiB,KAAK,6CAAqB,CAAC,UAAU,EACtD;gBACA,OAAO,KAAK,CAAC;aACd;YAED,qDAAqD;YACrD,IACE,GAAG,CAAC,OAAO;gBACX,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAc,CAAC,SAAS,CAAC;gBAC9C,iBAAiB,KAAK,6CAAqB,CAAC,SAAS,EACrD;gBACA,OAAO,KAAK,CAAC;aACd;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,GAAG,IAAI,CAAC,MAAM,CAChB,CAAC,GAAS,EAAE,EAAE,CACZ,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,qBAAc,CAAC,WAAW,CAC/D,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,uBAAgB,CAAC,MAAM,CAAC;aACtD,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,IAAI,IAAI,KAAK,kBAAW,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC;;gBACpC,OAAO,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACL,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,uBAAgB,CAAC,OAAO,CAChD,CAAC;QACF,8EAA8E;QAC9E,MAAM,SAAS,GAAG,IAAI;aACnB,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,uBAAgB,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CACvE;aACA,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACjB,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,CAAC,CAAC,CAAC;;gBAC1B,OAAO,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;QAE3D,SAAS,cAAc,CACrB,MAAgC,EAChC,GAAS;YAET,mCAAmC;YACnC,IACE,GAAG,CAAC,OAAO;gBACX,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAc,CAAC,MAAM,CAAC;gBAC3C,CAAC,MAAM,CAAC,IAAI,EACZ;gBACA,OAAO,CAAC,CAAC;aACV;YAED,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC;YAEjD,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;gBACpD,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAW,CAAC,IAAI,EAAE;oBACjC,OAAO,GAAG,CAAC,KAAK,CAAC;iBAClB;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAW,CAAC,OAAO,EAAE;oBACpC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;iBACzC;aACF;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,eAAe,CACtB,OAAkC,EAClC,GAAS;YAET,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC;YAEjD,IAAI,MAAM,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,MAAM,EAAE;gBACtD,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAW,CAAC,IAAI,EAAE;oBACjC,OAAO,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;iBAClC;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAW,CAAC,OAAO,EAAE;oBACpC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;iBAC1C;aACF;iBAAM;gBACL,OAAO,CAAC,CAAC;aACV;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS,aAAa,CAAC,aAAa,EAAE,GAAG;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAW,CAAC,IAAI,EAAE;gBACjC,OAAO,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC;aAClC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAW,CAAC,OAAO,EAAE;gBACpC,OAAO,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;aAC9C;QACH,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACvD,OAAO,CACL,GAAG;gBACH,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC3B,MAAM,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAChD,OAAO,KAAK,CAAC;gBACf,CAAC,EAAE,CAAC,CAAC,CACN,CAAC;QACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACpD,OAAO,CACL,GAAG;gBACH,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;oBAC7B,MAAM,KAAK,GAAG,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAChD,OAAO,KAAK,CAAC;gBACf,CAAC,EAAE,CAAC,CAAC,CACN,CAAC;QACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,EACrC,CAAC,CACF,CAAC;QAEF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YAC1D,OAAO,CACL,GAAG;gBACH,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CACxE,CAAC;QACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACvD,OAAO,CACL,GAAG;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CACzE,CAAC;QACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,WAAW;YACT,iBAAiB;YACjB,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,eAAe,CAClB,CAAC;QAEF,iDAAiD;QAEjD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/C,OAAO,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC,EAAE,aAAa,CAAC,CAAC;QAElB,0CAA0C;QAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IACD,wBAAwB,CAAC,MAAgC;QACvD,IAAI,EACF,OAAO,GAAG,EAAE,EACZ,QAAQ,GAAG,EAAE,EACb,iBAAiB;QACjB,OAAO;UACR,GAAG,MAAM,CAAC;QAEX,IAAI,iBAAiB,KAAK,6CAAqB,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,8BAA8B;QAC1G,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,EACrC,CAAC,CACF,CAAC,CAAC,+BAA+B;QAClC,OAAO,WAAW,GAAG,YAAY,CAAC;IACpC,CAAC;IACD,YAAY,CAAC,MAAgC;QAC3C,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACrD,QAAQ,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB,CAAC,MAAgC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,wBAAwB,CAAC,MAAgC;QACvD,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAE3E,IAAI,GAAG,iBAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,MAAgC;QAC9C,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAE3E,IAAI,GAAG,iBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAC;YACjC,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IACD,oBAAoB,CAAC,MAAgC;QACnD,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;QAE3E,IAAI,GAAG,iBAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEjC,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IACD,kBAAkB,CAAC,MAAgC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,eAAe,CAAC;IAC3D,CAAC;IACD,sBAAsB,CAAC,MAAgC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,KAAK,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC5C,CAAC;IACD,8DAA8D;IAC9D,0DAA0D;IAC1D,0EAA0E;IAC1E,4BAA4B;IAC5B,IAAI;IAEJ,iBAAiB,CAAC,OAAY,EAAE,KAAU;;QACxC,IAAI,eAAe,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC,MAAM,CACtC,CAAC,GAAS,EAAE,EAAE,CACZ,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,qBAAc,CAAC,WAAW,CAC/D,CAAC;QACF,IAAI,cAAc,GAAG,eAAe,KAAI,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAA,CAAC;QAClE,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;QAEpE,IAAI,SAAS,GAAI,cAAyB,GAAG,YAAY,CAAC;QAC1D,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,gBAAgB;YACtE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;CACF;AAED,kBAAe,IAAI,WAAW,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sellout/models",
3
- "version": "0.0.161",
3
+ "version": "0.0.162",
4
4
  "description": "Sellout.io models",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
19
  "@hapi/joi": "^16.1.7",
20
- "@sellout/utils": "^0.0.161",
20
+ "@sellout/utils": "^0.0.162",
21
21
  "@types/hapi__joi": "^16.0.1",
22
22
  "@types/shortid": "^0.0.29",
23
23
  "apollo-link-debounce": "^2.1.0",
@@ -31,5 +31,5 @@
31
31
  "protobufjs": "^6.11.2",
32
32
  "typescript": "^4.4.2"
33
33
  },
34
- "gitHead": "6472aba4063ae56e06e54e046fe376ce330ae714"
34
+ "gitHead": "6c628f19ca3915e3c8ec58980e70d3d58eabeab3"
35
35
  }
@@ -19,6 +19,7 @@ export enum FeeFiltersEnum {
19
19
  Seated = "Seated",
20
20
  CardEntry = "Card Entry",
21
21
  CardReader = "Card Reader",
22
+ GuestTicket = "Guest ticket",
22
23
  }
23
24
 
24
25
  export default interface IFee {
@@ -1,16 +1,20 @@
1
- import FeeUtil from './FeeUtil';
2
- import { ICreateOrderTicketParams, ICreateOrderUpgradeParams } from '../interfaces/ICreateOrderParams';
3
- import IFee, { FeeAppliedToEnum, FeeFiltersEnum, FeeTypeEnum } from '../interfaces/IFee';
4
- import { PaymentMethodTypeEnum } from '../enums/PaymentMethodTypeEnum';
5
- // import IPayment from 'src/interfaces/IPayment';
6
- // import IPayment from 'src/interfaces/IPayment';
7
- // import { OrderTypeEnum } from 'src/interfaces/IOrderType';
1
+ import FeeUtil from "./FeeUtil";
2
+ import {
3
+ ICreateOrderTicketParams,
4
+ ICreateOrderUpgradeParams,
5
+ } from "../interfaces/ICreateOrderParams";
6
+ import IFee, {
7
+ FeeAppliedToEnum,
8
+ FeeFiltersEnum,
9
+ FeeTypeEnum,
10
+ } from "../interfaces/IFee";
11
+ import { PaymentMethodTypeEnum } from "../enums/PaymentMethodTypeEnum";
8
12
 
9
13
  interface IPaymentCalculatorParams {
10
14
  tickets: ICreateOrderTicketParams[];
11
15
  upgrades: ICreateOrderUpgradeParams[];
12
16
  fees: IFee[];
13
- paymentMethodType: PaymentMethodTypeEnum
17
+ paymentMethodType: PaymentMethodTypeEnum;
14
18
  }
15
19
 
16
20
  // interface IOrderItems {
@@ -23,13 +27,12 @@ class PaymentUtil {
23
27
  // calculateOrderItemPrices(params: IPaymentCalculatorParams): IOrderItems {
24
28
 
25
29
  // let {
26
- // tickets = [],
30
+ // tickets = [],
27
31
  // upgrades = [],
28
32
  // fees = [],
29
33
  // paymentMethodType,
30
34
  // } = params;
31
35
 
32
-
33
36
  // // Filter fees
34
37
  // fees = fees.filter((fee: IFee) => {
35
38
  // // Ignore card reader fees for non card reader payemnts
@@ -77,7 +80,7 @@ class PaymentUtil {
77
80
  // const maxFee = fee.maxAppliedToPrice || Infinity;
78
81
 
79
82
  // if (minFee <= price && price <= maxFee) {
80
- // console.log(fee);
83
+ // console.log(fee);
81
84
  // if (fee.type === FeeTypeEnum.Flat) {
82
85
  // return price - fee.value;
83
86
  // } if (fee.type === FeeTypeEnum.Percent) {
@@ -85,7 +88,6 @@ class PaymentUtil {
85
88
  // }
86
89
  // }
87
90
 
88
-
89
91
  // // if(fee.type === FeeTypeEnum.Percent) {
90
92
  // // return price * (1 - fee.value / 100);
91
93
  // // }
@@ -111,15 +113,13 @@ class PaymentUtil {
111
113
 
112
114
  // tickets = tickets.map((ticket: ICreateOrderTicketParams): ICreateOrderTicketParams => {
113
115
  // const price = Math.floor(calculateTicketPrice(ticket));
114
- // console.log(`Ticket Price: `, price);
116
+ // console.log(`Ticket Price: `, price);
115
117
  // return {
116
118
  // ...ticket,
117
119
  // price,
118
120
  // }
119
121
  // });
120
122
 
121
-
122
-
123
123
  // // upgrades = upgrades.map((upgrade: ICreateOrderUpgradeParams): ICreateOrderUpgradeParams => {
124
124
  // // return {
125
125
  // // ...upgrade,
@@ -133,12 +133,7 @@ class PaymentUtil {
133
133
  // };
134
134
  // },
135
135
  calculatePaymentTotal(params: IPaymentCalculatorParams): number {
136
- let {
137
- tickets = [],
138
- upgrades = [],
139
- fees = [],
140
- paymentMethodType,
141
- } = params;
136
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
142
137
 
143
138
  // No items, total is always 0
144
139
  if (!tickets.length && !upgrades.length) return 0;
@@ -146,45 +141,73 @@ class PaymentUtil {
146
141
  // Filter fees
147
142
  fees = fees.filter((fee: IFee) => {
148
143
  // Ignore card reader fees for non card reader payemnts
149
- if (fee.filters && fee.filters.includes(FeeFiltersEnum.CardReader) && paymentMethodType !== PaymentMethodTypeEnum.CardReader) {
144
+ if (
145
+ fee.filters &&
146
+ fee.filters.includes(FeeFiltersEnum.CardReader) &&
147
+ paymentMethodType !== PaymentMethodTypeEnum.CardReader
148
+ ) {
150
149
  return false;
151
150
  }
152
151
 
153
152
  // Ignore card entry fees for non card entry payemnts
154
- if (fee.filters && fee.filters.includes(FeeFiltersEnum.CardEntry) && paymentMethodType !== PaymentMethodTypeEnum.CardEntry) {
153
+ if (
154
+ fee.filters &&
155
+ fee.filters.includes(FeeFiltersEnum.CardEntry) &&
156
+ paymentMethodType !== PaymentMethodTypeEnum.CardEntry
157
+ ) {
155
158
  return false;
156
159
  }
157
160
 
158
161
  return true;
159
162
  });
160
163
 
161
- const ticketFees = fees.filter(f => f.appliedTo === FeeAppliedToEnum.Ticket)
164
+ fees = fees.filter(
165
+ (fee: IFee) =>
166
+ fee.filters && fee.filters[0] !== FeeFiltersEnum.GuestTicket
167
+ );
168
+
169
+ const ticketFees = fees
170
+ .filter((f) => f.appliedTo === FeeAppliedToEnum.Ticket)
162
171
  .sort(({ type }) => {
163
172
  if (type === FeeTypeEnum.Flat) return -1;
164
173
  else return 1;
165
- })
166
- const upgradeFees = fees.filter(f => f.appliedTo === FeeAppliedToEnum.Upgrade);
174
+ });
175
+ const upgradeFees = fees.filter(
176
+ (f) => f.appliedTo === FeeAppliedToEnum.Upgrade
177
+ );
167
178
  // Orders mattes here. Flat type fees must be applied before Percent type fees
168
- const orderFees = fees.filter(f => f.appliedTo === FeeAppliedToEnum.Order && f.name != 'Sales tax').sort(({ type }) => {
169
- if (type === 'Flat') return -1;
170
- else return 1;
171
- });
172
- const salesTax = fees.filter(f => f.name == 'Sales tax');
179
+ const orderFees = fees
180
+ .filter(
181
+ (f) => f.appliedTo === FeeAppliedToEnum.Order && f.name != "Sales tax"
182
+ )
183
+ .sort(({ type }) => {
184
+ if (type === "Flat") return -1;
185
+ else return 1;
186
+ });
187
+ const salesTax = fees.filter((f) => f.name == "Sales tax");
173
188
 
174
- function applyTicketFee(ticket: ICreateOrderTicketParams, fee: IFee): number {
189
+ function applyTicketFee(
190
+ ticket: ICreateOrderTicketParams,
191
+ fee: IFee
192
+ ): number {
175
193
  // Ignore seated fees if not seated
176
- if (fee.filters && fee.filters.includes(FeeFiltersEnum.Seated) && !ticket.seat) {
194
+ if (
195
+ fee.filters &&
196
+ fee.filters.includes(FeeFiltersEnum.Seated) &&
197
+ !ticket.seat
198
+ ) {
177
199
  return 0;
178
200
  }
179
-
201
+
180
202
  const minFee = fee.minAppliedToPrice || 0;
181
203
  const maxFee = fee.maxAppliedToPrice || Infinity;
182
204
 
183
205
  if (minFee <= ticket.price && ticket.price <= maxFee) {
184
206
  if (fee.type === FeeTypeEnum.Flat) {
185
207
  return fee.value;
186
- } if (fee.type === FeeTypeEnum.Percent) {
187
- return (ticket.price * fee.value / 100);
208
+ }
209
+ if (fee.type === FeeTypeEnum.Percent) {
210
+ return (ticket.price * fee.value) / 100;
188
211
  }
189
212
  } else {
190
213
  return 0;
@@ -193,15 +216,19 @@ class PaymentUtil {
193
216
  return 0;
194
217
  }
195
218
 
196
- function applyUpgradeFee(upgrade: ICreateOrderUpgradeParams, fee: IFee): number {
219
+ function applyUpgradeFee(
220
+ upgrade: ICreateOrderUpgradeParams,
221
+ fee: IFee
222
+ ): number {
197
223
  const minFee = fee.minAppliedToPrice || 0;
198
224
  const maxFee = fee.maxAppliedToPrice || Infinity;
199
225
 
200
226
  if (minFee <= upgrade.price && upgrade.price <= maxFee) {
201
227
  if (fee.type === FeeTypeEnum.Flat) {
202
228
  return upgrade.price + fee.value;
203
- } if (fee.type === FeeTypeEnum.Percent) {
204
- return (upgrade.price * fee.value / 100);
229
+ }
230
+ if (fee.type === FeeTypeEnum.Percent) {
231
+ return (upgrade.price * fee.value) / 100;
205
232
  }
206
233
  } else {
207
234
  return 0;
@@ -213,36 +240,59 @@ class PaymentUtil {
213
240
  function applyOrderFee(orderSubtotal, fee) {
214
241
  if (fee.type === FeeTypeEnum.Flat) {
215
242
  return orderSubtotal + fee.value;
216
- } if (fee.type === FeeTypeEnum.Percent) {
217
- return (orderSubtotal / (1 - fee.value / 100));
243
+ }
244
+ if (fee.type === FeeTypeEnum.Percent) {
245
+ return orderSubtotal / (1 - fee.value / 100);
218
246
  }
219
247
  }
220
248
 
221
249
  const ticketTotal = tickets.reduce((cur, ticket) => cur + ticket.price, 0);
222
250
 
223
251
  const ticketTaxFeeTotal = tickets.reduce((cur, ticket) => {
224
- return cur + salesTax.reduce((cur, fee) => {
225
- const value = cur + applyTicketFee(ticket, fee);
226
- return value;
227
- }, 0);
252
+ return (
253
+ cur +
254
+ salesTax.reduce((cur, fee) => {
255
+ const value = cur + applyTicketFee(ticket, fee);
256
+ return value;
257
+ }, 0)
258
+ );
228
259
  }, 0);
229
260
  const ticketFeeTotal = tickets.reduce((cur, ticket) => {
230
- return cur + ticketFees.reduce((cur, fee) => {
231
- const value = cur + applyTicketFee(ticket, fee);
232
- return value;
233
- }, 0);
261
+ return (
262
+ cur +
263
+ ticketFees.reduce((cur, fee) => {
264
+ const value = cur + applyTicketFee(ticket, fee);
265
+ return value;
266
+ }, 0)
267
+ );
234
268
  }, 0);
235
269
 
236
- const upgradeTotal = upgrades.reduce((cur, upgrade) => cur + upgrade.price, 0);
270
+ const upgradeTotal = upgrades.reduce(
271
+ (cur, upgrade) => cur + upgrade.price,
272
+ 0
273
+ );
237
274
 
238
275
  const upgradeTaxFeeTotal = upgrades.reduce((cur, upgrade) => {
239
- return cur + salesTax.reduce((curr, fee) => curr + applyUpgradeFee(upgrade, fee), 0);
276
+ return (
277
+ cur +
278
+ salesTax.reduce((curr, fee) => curr + applyUpgradeFee(upgrade, fee), 0)
279
+ );
240
280
  }, 0);
241
281
 
242
282
  const upgradeFeeTotal = upgrades.reduce((cur, upgrade) => {
243
- return cur + upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0);
283
+ return (
284
+ cur +
285
+ upgradeFees.reduce((cur, fee) => cur + applyUpgradeFee(upgrade, fee), 0)
286
+ );
244
287
  }, 0);
245
- const orderSubtotal = Math.round(ticketTotal + ticketTaxFeeTotal + ticketFeeTotal + upgradeTaxFeeTotal + upgradeTotal + upgradeFeeTotal);
288
+ const orderSubtotal = Math.round(
289
+ ticketTotal +
290
+ ticketTaxFeeTotal +
291
+ ticketFeeTotal +
292
+ upgradeTaxFeeTotal +
293
+ upgradeTotal +
294
+ upgradeFeeTotal
295
+ );
246
296
 
247
297
  // console.log(`Order SubTotal:`, orderSubtotal);
248
298
 
@@ -262,37 +312,32 @@ class PaymentUtil {
262
312
  // fees
263
313
  } = params;
264
314
 
265
- if(paymentMethodType === PaymentMethodTypeEnum.None) return 0;
315
+ if (paymentMethodType === PaymentMethodTypeEnum.None) return 0;
266
316
 
267
- const ticketTotal = tickets.reduce((cur, ticket) => cur + ticket.price , 0); // + (ticket.price * tax/100)
268
- const upgradeTotal = upgrades.reduce((cur, upgrade) => cur + upgrade.price, 0); // + (upgrade.price * tax/100)
317
+ const ticketTotal = tickets.reduce((cur, ticket) => cur + ticket.price, 0); // + (ticket.price * tax/100)
318
+ const upgradeTotal = upgrades.reduce(
319
+ (cur, upgrade) => cur + upgrade.price,
320
+ 0
321
+ ); // + (upgrade.price * tax/100)
269
322
  return ticketTotal + upgradeTotal;
270
323
  }
271
324
  calculateFee(params: IPaymentCalculatorParams): number {
272
- let {
273
- fees
274
- } = params;
275
- const salesTax = fees.filter(f => f.name == 'Sales tax');
276
- const tax = salesTax.length > 0 ? salesTax[0].value : 0
325
+ let { fees } = params;
326
+ const salesTax = fees.filter((f) => f.name == "Sales tax");
327
+ const tax = salesTax.length > 0 ? salesTax[0].value : 0;
277
328
  const total = this.calculatePaymentTotal(params);
278
329
  let subtotal = this.calculatePaymentSubtotal(params);
279
- subtotal = subtotal + (subtotal*tax/100)
330
+ subtotal = subtotal + (subtotal * tax) / 100;
280
331
  return Math.round(total - subtotal);
281
332
  }
282
333
 
283
334
  calculateFeeWithoutTax(params: IPaymentCalculatorParams): number {
284
-
285
335
  const total = this.calculatePaymentTotal(params);
286
336
  let subtotal = this.calculatePaymentSubtotal(params);
287
337
  return Math.round(total - subtotal);
288
338
  }
289
339
  calculateOrganizationFee(params: IPaymentCalculatorParams): number {
290
- let {
291
- tickets = [],
292
- upgrades = [],
293
- fees = [],
294
- paymentMethodType,
295
- } = params;
340
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
296
341
 
297
342
  fees = FeeUtil.promoterFees(fees);
298
343
  return this.calculateFee({
@@ -303,14 +348,8 @@ class PaymentUtil {
303
348
  });
304
349
  }
305
350
 
306
-
307
351
  calculateTaxFee(params: IPaymentCalculatorParams): number {
308
- let {
309
- tickets = [],
310
- upgrades = [],
311
- fees = [],
312
- paymentMethodType,
313
- } = params;
352
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
314
353
 
315
354
  fees = FeeUtil.taxFees(fees);
316
355
  return this.calculateFeeWithoutTax({
@@ -321,12 +360,7 @@ class PaymentUtil {
321
360
  });
322
361
  }
323
362
  calculatePlatformFee(params: IPaymentCalculatorParams): number {
324
- let {
325
- tickets = [],
326
- upgrades = [],
327
- fees = [],
328
- paymentMethodType,
329
- } = params;
363
+ let { tickets = [], upgrades = [], fees = [], paymentMethodType } = params;
330
364
 
331
365
  fees = FeeUtil.selloutFees(fees);
332
366
 
@@ -348,7 +382,7 @@ class PaymentUtil {
348
382
  const total = this.calculatePaymentTotal(params);
349
383
  const subtotal = this.calculatePaymentSubtotal(params);
350
384
  const organizationFee = this.calculateOrganizationFee(params);
351
- return total - subtotal - organizationFee;
385
+ return total - subtotal - organizationFee;
352
386
  }
353
387
  // calculateTaxFee(params: IPaymentCalculatorParams): number {
354
388
  // const organizationFee = this.calculateTaxFee(params);
@@ -356,6 +390,19 @@ class PaymentUtil {
356
390
  // return organizationFee;
357
391
  // }
358
392
 
393
+ calculateGuestFee(tickets: any, event: any): number {
394
+ let guestTicketFees = event?.fees.filter(
395
+ (fee: IFee) =>
396
+ fee.filters && fee.filters[0] === FeeFiltersEnum.GuestTicket
397
+ );
398
+ let guestFeesValue = guestTicketFees && guestTicketFees[0]?.value;
399
+ let guestMembers = tickets.filter((a) => !a.isMemberIdValid).length;
400
+
401
+ let guestFees = (guestFeesValue as number) * guestMembers;
402
+ return guestTicketFees.length > 0 && event.organization.isTegIntegration
403
+ ? guestFees
404
+ : 0;
405
+ }
359
406
  }
360
407
 
361
408
  export default new PaymentUtil();