@hyper.software/common-helpers 2.2.56 → 2.2.57

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.
@@ -81,19 +81,6 @@ describe('calculateDynamicPricing', function () {
81
81
  list: Array(count).fill({ roomTypeId: 'roomType1' }),
82
82
  });
83
83
  };
84
- // it('returns base price when dynamic pricing is inactive', async () => {
85
- // const result = await calculateDynamicPricing({
86
- // currentPricing: { [today.format('YYYY-MM-DD')]: 100 },
87
- // dynamicPricing: baseDynamicPricing({ isActive: false }),
88
- // existingBasePriceMap: { [today.format('YYYY-MM-DD')]: 90 },
89
- // company: mockCompany,
90
- // roomTypeId: 'roomType1',
91
- // companyId: 'comp1',
92
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(5, today.format('YYYY-MM-DD')),
93
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
94
- // })
95
- // expect(result.updatedPricing[today.format('YYYY-MM-DD')]).toBe(90)
96
- // })
97
84
  it('applies holiday dynamic pricing if date is near holiday', function () { return __awaiter(void 0, void 0, void 0, function () {
98
85
  var holidayDate, companyWithHoliday, pricing, result;
99
86
  var _a;
@@ -125,19 +112,6 @@ describe('calculateDynamicPricing', function () {
125
112
  }
126
113
  });
127
114
  }); });
128
- // it('uses fallback pricing if base price exists and dynamic pricing is off', async () => {
129
- // const result = await calculateDynamicPricing({
130
- // currentPricing: { [today.format('YYYY-MM-DD')]: 100 },
131
- // dynamicPricing: baseDynamicPricing({ isActive: false }),
132
- // existingBasePriceMap: { [today.format('YYYY-MM-DD')]: 95 },
133
- // company: mockCompany,
134
- // roomTypeId: 'roomType1',
135
- // companyId: 'comp1',
136
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(3, today.format('YYYY-MM-DD')),
137
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
138
- // })
139
- // expect(result.updatedPricing[today.format('YYYY-MM-DD')]).toBe(95)
140
- // })
141
115
  it('keeps price near base when availability is 100% and date is far', function () { return __awaiter(void 0, void 0, void 0, function () {
142
116
  var result, price;
143
117
  var _a;
@@ -258,5 +232,103 @@ describe('calculateDynamicPricing', function () {
258
232
  }
259
233
  });
260
234
  }); });
235
+ it('reverts to base price when dynamic pricing is turned off', function () { return __awaiter(void 0, void 0, void 0, function () {
236
+ var dateStr, result;
237
+ var _a, _b;
238
+ return __generator(this, function (_c) {
239
+ switch (_c.label) {
240
+ case 0:
241
+ dateStr = today.clone().add(1, 'day').format('YYYY-MM-DD');
242
+ return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
243
+ currentPricing: (_a = {}, _a[dateStr] = 130, _a),
244
+ dynamicPricing: baseDynamicPricing({ isActive: false }),
245
+ existingBasePriceMap: (_b = {}, _b[dateStr] = 100, _b),
246
+ company: {
247
+ id: 'comp1',
248
+ holidays: [{ date: dateStr, enableDynamicPricing: true }],
249
+ },
250
+ roomTypeId: 'roomType1',
251
+ companyId: 'comp1',
252
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(3, dateStr),
253
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
254
+ })];
255
+ case 1:
256
+ result = _c.sent();
257
+ expect(result.updatedPricing[dateStr]).toBe(100);
258
+ return [2 /*return*/];
259
+ }
260
+ });
261
+ }); });
262
+ it('does not apply dynamic pricing if holiday has enableDynamicPricing: false', function () { return __awaiter(void 0, void 0, void 0, function () {
263
+ var holidayDate, companyWithHoliday, pricing, result;
264
+ var _a;
265
+ return __generator(this, function (_b) {
266
+ switch (_b.label) {
267
+ case 0:
268
+ holidayDate = today.clone().add(1, 'day').format('YYYY-MM-DD');
269
+ companyWithHoliday = {
270
+ id: 'comp1',
271
+ holidays: [{ date: holidayDate, enableDynamicPricing: false }],
272
+ };
273
+ pricing = (_a = {},
274
+ _a[holidayDate] = 100,
275
+ _a);
276
+ return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
277
+ currentPricing: pricing,
278
+ dynamicPricing: baseDynamicPricing(),
279
+ existingBasePriceMap: {},
280
+ company: companyWithHoliday,
281
+ roomTypeId: 'roomType1',
282
+ companyId: 'comp1',
283
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(1, holidayDate),
284
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
285
+ })];
286
+ case 1:
287
+ result = _b.sent();
288
+ expect(result.updatedPricing[holidayDate]).toBe(100);
289
+ return [2 /*return*/];
290
+ }
291
+ });
292
+ }); });
293
+ it('only changes pricing for 3 days around enabled holiday', function () { return __awaiter(void 0, void 0, void 0, function () {
294
+ var holiday, dayBefore, dayOf, dayAfter, unrelated, pricing, result;
295
+ var _a;
296
+ return __generator(this, function (_b) {
297
+ switch (_b.label) {
298
+ case 0:
299
+ holiday = today.clone().add(10, 'days');
300
+ dayBefore = holiday.clone().subtract(1, 'day').format('YYYY-MM-DD');
301
+ dayOf = holiday.format('YYYY-MM-DD');
302
+ dayAfter = holiday.clone().add(1, 'day').format('YYYY-MM-DD');
303
+ unrelated = today.clone().add(20, 'days').format('YYYY-MM-DD');
304
+ pricing = (_a = {},
305
+ _a[dayBefore] = 100,
306
+ _a[dayOf] = 100,
307
+ _a[dayAfter] = 100,
308
+ _a[unrelated] = 100,
309
+ _a);
310
+ return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
311
+ currentPricing: pricing,
312
+ dynamicPricing: baseDynamicPricing(),
313
+ existingBasePriceMap: {},
314
+ company: {
315
+ id: 'comp1',
316
+ holidays: [{ date: dayOf, enableDynamicPricing: true }],
317
+ },
318
+ roomTypeId: 'roomType1',
319
+ companyId: 'comp1',
320
+ getRoomTypesAvailability: mockGetRoomTypesAvailability(1, dayOf),
321
+ getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
322
+ })];
323
+ case 1:
324
+ result = _b.sent();
325
+ expect(result.updatedPricing[unrelated]).toBe(100);
326
+ expect(result.updatedPricing[dayBefore]).toBeGreaterThan(100);
327
+ expect(result.updatedPricing[dayOf]).toBeGreaterThan(100);
328
+ expect(result.updatedPricing[dayAfter]).toBeGreaterThan(100);
329
+ return [2 /*return*/];
330
+ }
331
+ });
332
+ }); });
261
333
  });
262
334
  //# sourceMappingURL=bookingService.calculateDynamic.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bookingService.calculateDynamic.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingService.calculateDynamic.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookingService.calculateDynamic.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingService.calculateDynamic.test.ts"],"names":[],"mappings":"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"}
@@ -54,48 +54,72 @@ exports.calculateDynamicPricing = void 0;
54
54
  var moment_1 = __importDefault(require("moment"));
55
55
  var dateService_1 = require("../dateService/dateService");
56
56
  var calculateDynamicPricing = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
57
- var basePriceMap, resultPricing, period, holidayDateSet, _i, period_1, dateStr, date, current, baseForToday, isAffectedHoliday, rawPrice;
57
+ var basePriceMap, resultPricing, dynamicHolidays, affectedDates, _i, dynamicHolidays_1, holiday, date, finalDates, _c, finalDates_1, dateStr, revertedPricing, _d, finalDates_2, dateStr, _e, availabilityResult, roomsResult, totalRooms, roomAvailabilityMap, _f, finalDates_3, dateStr, basePrice, date, price, availableRooms, occupancy, isNearDate;
58
+ var _g, _h;
58
59
  var currentPricing = _b.currentPricing, dynamicPricing = _b.dynamicPricing, existingBasePriceMap = _b.existingBasePriceMap, company = _b.company, roomTypeId = _b.roomTypeId, companyId = _b.companyId, getRoomTypesAvailability = _b.getRoomTypesAvailability, getRoomsByCompanyId = _b.getRoomsByCompanyId;
59
- return __generator(this, function (_c) {
60
- switch (_c.label) {
60
+ return __generator(this, function (_j) {
61
+ switch (_j.label) {
61
62
  case 0:
62
- basePriceMap = __assign(__assign({}, dynamicPricing.basePrice), existingBasePriceMap);
63
+ basePriceMap = __assign({}, existingBasePriceMap);
63
64
  resultPricing = {};
64
- period = Object.keys(currentPricing);
65
- return [4 /*yield*/, Promise.all([getRoomTypesAvailability(companyId, [roomTypeId], { period: period }), getRoomsByCompanyId(companyId)])];
65
+ dynamicHolidays = (company.holidays || []).filter(function (h) { return h.enableDynamicPricing; });
66
+ affectedDates = new Set();
67
+ for (_i = 0, dynamicHolidays_1 = dynamicHolidays; _i < dynamicHolidays_1.length; _i++) {
68
+ holiday = dynamicHolidays_1[_i];
69
+ date = (0, moment_1.default)(holiday.date).startOf('day');
70
+ affectedDates.add(date.clone().subtract(1, 'day').format('YYYY-MM-DD'));
71
+ affectedDates.add(date.format('YYYY-MM-DD'));
72
+ affectedDates.add(date.clone().add(1, 'day').format('YYYY-MM-DD'));
73
+ }
74
+ finalDates = Array.from(affectedDates).filter(function (date) { return date in currentPricing; });
75
+ for (_c = 0, finalDates_1 = finalDates; _c < finalDates_1.length; _c++) {
76
+ dateStr = finalDates_1[_c];
77
+ if (!(dateStr in basePriceMap)) {
78
+ basePriceMap[dateStr] = currentPricing[dateStr];
79
+ }
80
+ }
81
+ if (!dynamicPricing.isActive) {
82
+ revertedPricing = __assign({}, currentPricing);
83
+ for (_d = 0, finalDates_2 = finalDates; _d < finalDates_2.length; _d++) {
84
+ dateStr = finalDates_2[_d];
85
+ revertedPricing[dateStr] = basePriceMap[dateStr];
86
+ }
87
+ return [2 /*return*/, {
88
+ updatedPricing: revertedPricing,
89
+ updatedBasePriceMap: basePriceMap,
90
+ }];
91
+ }
92
+ return [4 /*yield*/, Promise.all([
93
+ getRoomTypesAvailability(companyId, [roomTypeId], { period: finalDates }),
94
+ getRoomsByCompanyId(companyId),
95
+ ])];
66
96
  case 1:
67
- _c.sent();
68
- holidayDateSet = new Set((company.holidays || [])
69
- .filter(function (h) { return h.enableDynamicPricing; })
70
- .flatMap(function (h) { return [
71
- (0, moment_1.default)(h.date).subtract(1, 'day').format('YYYY-MM-DD'),
72
- (0, moment_1.default)(h.date).format('YYYY-MM-DD'),
73
- (0, moment_1.default)(h.date).add(1, 'day').format('YYYY-MM-DD'),
74
- ]; }));
75
- for (_i = 0, period_1 = period; _i < period_1.length; _i++) {
76
- dateStr = period_1[_i];
97
+ _e = _j.sent(), availabilityResult = _e[0], roomsResult = _e[1];
98
+ totalRooms = roomsResult.list.filter(function (r) { return r.roomTypeId === roomTypeId; }).length;
99
+ roomAvailabilityMap = ((_g = availabilityResult === null || availabilityResult === void 0 ? void 0 : availabilityResult[roomTypeId]) === null || _g === void 0 ? void 0 : _g.availability) || {};
100
+ for (_f = 0, finalDates_3 = finalDates; _f < finalDates_3.length; _f++) {
101
+ dateStr = finalDates_3[_f];
102
+ basePrice = basePriceMap[dateStr];
77
103
  date = (0, moment_1.default)((0, dateService_1.normalizeDate)(dateStr));
78
104
  if (!date.isValid())
79
105
  continue;
80
- current = currentPricing[dateStr];
81
- if (!(dateStr in basePriceMap)) {
82
- basePriceMap[dateStr] = current;
83
- }
84
- baseForToday = basePriceMap[dateStr];
85
- isAffectedHoliday = holidayDateSet.has(dateStr);
86
- if (dynamicPricing.isActive && isAffectedHoliday) {
87
- rawPrice = baseForToday + (dynamicPricing.amount || Math.round(baseForToday * 0.05));
88
- if (rawPrice > baseForToday + 70) {
89
- rawPrice = baseForToday + 70;
90
- }
91
- resultPricing[dateStr] = Math.round(rawPrice);
92
- }
93
- else {
94
- resultPricing[dateStr] = baseForToday;
95
- }
106
+ price = basePrice;
107
+ availableRooms = (_h = roomAvailabilityMap[dateStr]) !== null && _h !== void 0 ? _h : totalRooms;
108
+ occupancy = totalRooms > 0 ? 1 - availableRooms / totalRooms : 0;
109
+ if (occupancy >= 0.95)
110
+ price += Math.round(basePrice * 0.5);
111
+ else if (occupancy >= 0.7)
112
+ price += Math.round(basePrice * 0.3);
113
+ else if (occupancy >= 0.4)
114
+ price += Math.round(basePrice * 0.15);
115
+ isNearDate = date.diff((0, moment_1.default)(), 'days') <= 14;
116
+ if (isNearDate)
117
+ price += Math.round(basePrice * 0.1);
118
+ price = Math.min(price, basePrice + 70);
119
+ resultPricing[dateStr] = Math.round(price);
96
120
  }
97
121
  return [2 /*return*/, {
98
- updatedPricing: resultPricing,
122
+ updatedPricing: __assign(__assign({}, currentPricing), resultPricing),
99
123
  updatedBasePriceMap: basePriceMap,
100
124
  }];
101
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dynamicPricingService.js","sourceRoot":"","sources":["../../../src/services/dynamicPricingService/dynamicPricingService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAE3B,0DAA0D;AAEnD,IAAM,uBAAuB,GAAG,iEAAO,EAkB7C;;QAjBC,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,oBAAoB,0BAAA,EACpB,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,wBAAwB,8BAAA,EACxB,mBAAmB,yBAAA;;;;gBAcb,YAAY,yBAAQ,cAAc,CAAC,SAAS,GAAK,oBAAoB,CAAE,CAAA;gBACvE,aAAa,GAAyC,EAAE,CAAA;gBAExD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBAE1C,qBAAM,OAAO,CAAC,GAAG,CAAC,CAAC,wBAAwB,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAA;;gBAAlH,SAAkH,CAAA;gBAE5G,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;qBACrB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,oBAAoB,EAAtB,CAAsB,CAAC;qBACrC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA;oBACd,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oBACtD,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;oBACnC,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;iBAClD,EAJe,CAIf,CAAC,CACL,CAAA;gBAED,WAA4B,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE,CAAC;oBAApB,OAAO;oBACV,IAAI,GAAG,IAAA,gBAAM,EAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC,CAAA;oBAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBAAE,SAAQ;oBAEvB,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;oBAEvC,IAAI,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,EAAE,CAAC;wBAC/B,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;oBACjC,CAAC;oBAEK,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;oBACpC,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;oBAErD,IAAI,cAAc,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC;wBAC7C,QAAQ,GAAG,YAAY,GAAG,CAAC,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAA;wBAExF,IAAI,QAAQ,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC;4BACjC,QAAQ,GAAG,YAAY,GAAG,EAAE,CAAA;wBAC9B,CAAC;wBAED,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;oBAC/C,CAAC;yBAAM,CAAC;wBACN,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAA;oBACvC,CAAC;gBACH,CAAC;gBAED,sBAAO;wBACL,cAAc,EAAE,aAAa;wBAC7B,mBAAmB,EAAE,YAAY;qBAClC,EAAA;;;KACF,CAAA;AArEY,QAAA,uBAAuB,2BAqEnC"}
1
+ {"version":3,"file":"dynamicPricingService.js","sourceRoot":"","sources":["../../../src/services/dynamicPricingService/dynamicPricingService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyper.software/common-helpers",
3
- "version": "2.2.56",
3
+ "version": "2.2.57",
4
4
  "author": "Raul Tomescu <tomescu.raul+hyper@gmail.com>",
5
5
  "description": "Hyper Software Common Javascript Helpers",
6
6
  "main": "lib/index.js",