@hyper.software/common-helpers 2.2.70 → 2.2.71

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.
@@ -1,199 +1,213 @@
1
- // import moment from 'moment'
2
- // import { calculateDynamicPricing } from '../../dynamicPricingService/dynamicPricingService'
3
- // import { ICompany, IRoomTypePricePlanPricingInformation, IDynamicPricing, DYNAMIC_PRICING_TYPE } from '../../../interfaces'
4
- // describe('calculateDynamicPricing', () => {
5
- // const today = moment().startOf('day')
6
- // const nearDate = today.clone().add(7, 'days').format('YYYY-MM-DD')
7
- // const farDate = today.clone().add(60, 'days').format('YYYY-MM-DD')
8
- // const basePrice = 100
9
- // const baseDynamicPricing = (overrides: Partial<IDynamicPricing> = {}): IDynamicPricing => ({
10
- // isActive: true,
11
- // basePrice: {},
12
- // startDate: today.format('YYYY-MM-DD'),
13
- // endDate: farDate,
14
- // type: DYNAMIC_PRICING_TYPE.INCREASE,
15
- // amount: 20,
16
- // ...overrides,
17
- // })
18
- // const mockCompany: ICompany = {
19
- // id: 'comp1',
20
- // holidays: [],
21
- // } as any
22
- // const mockGetRoomTypesAvailability = (available: number, date: string) =>
23
- // jest.fn().mockResolvedValue({
24
- // roomType1: {
25
- // availability: {
26
- // [date]: available,
27
- // },
28
- // },
29
- // })
30
- // const mockGetRoomsByCompanyId = (count: number) =>
31
- // jest.fn().mockResolvedValue({
32
- // list: Array(count).fill({ roomTypeId: 'roomType1' }),
33
- // })
34
- // it('applies holiday dynamic pricing if date is near holiday', async () => {
35
- // const holidayDate = moment(today).add(1, 'day').format('YYYY-MM-DD')
36
- // const companyWithHoliday: ICompany = {
37
- // id: 'comp1',
38
- // holidays: [{ date: holidayDate, enableDynamicPricing: true }],
39
- // } as any
40
- // const pricing: IRoomTypePricePlanPricingInformation = {
41
- // [holidayDate]: 100,
42
- // }
43
- // const result = await calculateDynamicPricing({
44
- // currentPricing: pricing,
45
- // dynamicPricing: baseDynamicPricing(),
46
- // existingBasePriceMap: {},
47
- // company: companyWithHoliday,
48
- // roomTypeId: 'roomType1',
49
- // companyId: 'comp1',
50
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(1, holidayDate),
51
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
52
- // })
53
- // expect(result.updatedPricing[holidayDate]).toBeGreaterThan(100)
54
- // })
55
- // it('keeps price near base when availability is 100% and date is far', async () => {
56
- // const result = await calculateDynamicPricing({
57
- // currentPricing: { [farDate]: basePrice },
58
- // dynamicPricing: baseDynamicPricing(),
59
- // existingBasePriceMap: {},
60
- // company: mockCompany,
61
- // roomTypeId: 'roomType1',
62
- // companyId: 'comp1',
63
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(10, farDate),
64
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
65
- // })
66
- // const price = result.updatedPricing[farDate]
67
- // expect(price).toBeGreaterThanOrEqual(basePrice)
68
- // expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.1))
69
- // })
70
- // it('increases price moderately with 50% availability and date is far', async () => {
71
- // const result = await calculateDynamicPricing({
72
- // currentPricing: { [farDate]: basePrice },
73
- // dynamicPricing: baseDynamicPricing(),
74
- // existingBasePriceMap: {},
75
- // company: mockCompany,
76
- // roomTypeId: 'roomType1',
77
- // companyId: 'comp1',
78
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(5, farDate),
79
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
80
- // })
81
- // const price = result.updatedPricing[farDate]
82
- // expect(price).toBeGreaterThanOrEqual(basePrice)
83
- // expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4))
84
- // })
85
- // it('maximizes price with 1 room left and date is far', async () => {
86
- // const result = await calculateDynamicPricing({
87
- // currentPricing: { [farDate]: basePrice },
88
- // dynamicPricing: baseDynamicPricing(),
89
- // existingBasePriceMap: {},
90
- // company: mockCompany,
91
- // roomTypeId: 'roomType1',
92
- // companyId: 'comp1',
93
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(1, farDate),
94
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(50),
95
- // })
96
- // const price = result.updatedPricing[farDate]
97
- // expect(price).toBeGreaterThanOrEqual(basePrice)
98
- // expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.5))
99
- // })
100
- // it('slightly increases price with 100% availability and date is near', async () => {
101
- // const result = await calculateDynamicPricing({
102
- // currentPricing: { [nearDate]: basePrice },
103
- // dynamicPricing: baseDynamicPricing(),
104
- // existingBasePriceMap: {},
105
- // company: mockCompany,
106
- // roomTypeId: 'roomType1',
107
- // companyId: 'comp1',
108
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(10, nearDate),
109
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
110
- // })
111
- // const price = result.updatedPricing[nearDate]
112
- // expect(price).toBeGreaterThanOrEqual(basePrice)
113
- // expect(price).toBeLessThanOrEqual(Math.round(133))
114
- // })
115
- // it('strongly increases price with 50% availability and date is near', async () => {
116
- // const result = await calculateDynamicPricing({
117
- // currentPricing: { [nearDate]: basePrice },
118
- // dynamicPricing: baseDynamicPricing(),
119
- // existingBasePriceMap: {},
120
- // company: mockCompany,
121
- // roomTypeId: 'roomType1',
122
- // companyId: 'comp1',
123
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(5, nearDate),
124
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
125
- // })
126
- // const price = result.updatedPricing[nearDate]
127
- // expect(price).toBeGreaterThanOrEqual(basePrice)
128
- // expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4))
129
- // })
130
- // it('reverts to base price when dynamic pricing is turned off', async () => {
131
- // const dateStr = today.clone().add(1, 'day').format('YYYY-MM-DD')
132
- // const result = await calculateDynamicPricing({
133
- // currentPricing: { [dateStr]: 130 },
134
- // dynamicPricing: baseDynamicPricing({ isActive: false }),
135
- // existingBasePriceMap: { [dateStr]: 100 },
136
- // company: {
137
- // id: 'comp1',
138
- // holidays: [{ date: dateStr, enableDynamicPricing: true }],
139
- // } as any,
140
- // roomTypeId: 'roomType1',
141
- // companyId: 'comp1',
142
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(3, dateStr),
143
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
144
- // })
145
- // expect(result.updatedPricing[dateStr]).toBe(100)
146
- // })
147
- // it('does not apply dynamic pricing if holiday has enableDynamicPricing: false', async () => {
148
- // const holidayDate = today.clone().add(1, 'day').format('YYYY-MM-DD')
149
- // const companyWithHoliday: ICompany = {
150
- // id: 'comp1',
151
- // holidays: [{ date: holidayDate, enableDynamicPricing: false }],
152
- // } as any
153
- // const pricing: IRoomTypePricePlanPricingInformation = {
154
- // [holidayDate]: 100,
155
- // }
156
- // const result = await calculateDynamicPricing({
157
- // currentPricing: pricing,
158
- // dynamicPricing: baseDynamicPricing(),
159
- // existingBasePriceMap: {},
160
- // company: companyWithHoliday,
161
- // roomTypeId: 'roomType1',
162
- // companyId: 'comp1',
163
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(1, holidayDate),
164
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
165
- // })
166
- // expect(result.updatedPricing[holidayDate]).toBe(100)
167
- // })
168
- // it('only changes pricing for 3 days around enabled holiday', async () => {
169
- // const holiday = today.clone().add(10, 'days')
170
- // const dayBefore = holiday.clone().subtract(1, 'day').format('YYYY-MM-DD')
171
- // const dayOf = holiday.format('YYYY-MM-DD')
172
- // const dayAfter = holiday.clone().add(1, 'day').format('YYYY-MM-DD')
173
- // const unrelated = today.clone().add(20, 'days').format('YYYY-MM-DD')
174
- // const pricing: IRoomTypePricePlanPricingInformation = {
175
- // [dayBefore]: 100,
176
- // [dayOf]: 100,
177
- // [dayAfter]: 100,
178
- // [unrelated]: 100,
179
- // }
180
- // const result = await calculateDynamicPricing({
181
- // currentPricing: pricing,
182
- // dynamicPricing: baseDynamicPricing(),
183
- // existingBasePriceMap: {},
184
- // company: {
185
- // id: 'comp1',
186
- // holidays: [{ date: dayOf, enableDynamicPricing: true }],
187
- // } as any,
188
- // roomTypeId: 'roomType1',
189
- // companyId: 'comp1',
190
- // getRoomTypesAvailability: mockGetRoomTypesAvailability(1, dayOf),
191
- // getRoomsByCompanyId: mockGetRoomsByCompanyId(10),
192
- // })
193
- // expect(result.updatedPricing[unrelated]).toBe(100)
194
- // expect(result.updatedPricing[dayBefore]).toBeGreaterThan(100)
195
- // expect(result.updatedPricing[dayOf]).toBeGreaterThan(100)
196
- // expect(result.updatedPricing[dayAfter]).toBeGreaterThan(100)
197
- // })
198
- // })
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var moment_1 = __importDefault(require("moment"));
54
+ var dynamicPricingService_1 = require("../../dynamicPricingService/dynamicPricingService");
55
+ var interfaces_1 = require("../../../interfaces");
56
+ describe('calculateDynamicPricing', function () {
57
+ var today = (0, moment_1.default)().startOf('day');
58
+ var nearDate = today.clone().add(7, 'days').format('YYYY-MM-DD');
59
+ var farDate = today.clone().add(60, 'days').format('YYYY-MM-DD');
60
+ var basePrice = 100;
61
+ var baseDynamicPricing = function (overrides) {
62
+ if (overrides === void 0) { overrides = {}; }
63
+ return (__assign({ isActive: true, basePrice: {}, startDate: today.format('YYYY-MM-DD'), endDate: farDate, type: interfaces_1.DYNAMIC_PRICING_TYPE.INCREASE, amount: 20 }, overrides));
64
+ };
65
+ var mockCompany = {
66
+ id: 'comp1',
67
+ holidays: [],
68
+ };
69
+ it('returns base price when dynamic pricing is inactive', function () { return __awaiter(void 0, void 0, void 0, function () {
70
+ var result;
71
+ var _a, _b;
72
+ return __generator(this, function (_c) {
73
+ switch (_c.label) {
74
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
75
+ currentPricing: (_a = {}, _a[today.format('YYYY-MM-DD')] = 100, _a),
76
+ dynamicPricing: baseDynamicPricing({ isActive: false }),
77
+ existingBasePriceMap: (_b = {}, _b[today.format('YYYY-MM-DD')] = 90, _b),
78
+ company: mockCompany,
79
+ })];
80
+ case 1:
81
+ result = _c.sent();
82
+ expect(result.updatedPricing[today.format('YYYY-MM-DD')]).toBe(100);
83
+ return [2 /*return*/];
84
+ }
85
+ });
86
+ }); });
87
+ it('applies holiday dynamic pricing if date is near holiday', function () { return __awaiter(void 0, void 0, void 0, function () {
88
+ var holidayDate, companyWithHoliday, pricing, result;
89
+ var _a;
90
+ return __generator(this, function (_b) {
91
+ switch (_b.label) {
92
+ case 0:
93
+ holidayDate = (0, moment_1.default)(today).add(1, 'day').format('YYYY-MM-DD');
94
+ companyWithHoliday = {
95
+ id: 'comp1',
96
+ holidays: [{ date: holidayDate, enableDynamicPricing: true }],
97
+ };
98
+ pricing = (_a = {},
99
+ _a[holidayDate] = 100,
100
+ _a);
101
+ return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
102
+ currentPricing: pricing,
103
+ dynamicPricing: baseDynamicPricing(),
104
+ existingBasePriceMap: {},
105
+ company: companyWithHoliday,
106
+ })];
107
+ case 1:
108
+ result = _b.sent();
109
+ expect(result.updatedPricing[holidayDate]).toBeGreaterThan(100);
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ }); });
114
+ it('uses fallback pricing if base price exists and dynamic pricing is off', function () { return __awaiter(void 0, void 0, void 0, function () {
115
+ var result;
116
+ var _a, _b;
117
+ return __generator(this, function (_c) {
118
+ switch (_c.label) {
119
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
120
+ currentPricing: (_a = {}, _a[today.format('YYYY-MM-DD')] = 100, _a),
121
+ dynamicPricing: baseDynamicPricing({ isActive: false }),
122
+ existingBasePriceMap: (_b = {}, _b[today.format('YYYY-MM-DD')] = 95, _b),
123
+ company: mockCompany,
124
+ })];
125
+ case 1:
126
+ result = _c.sent();
127
+ expect(result.updatedPricing[today.format('YYYY-MM-DD')]).toBe(100);
128
+ return [2 /*return*/];
129
+ }
130
+ });
131
+ }); });
132
+ it('increases price moderately with 50% availability and date is far', function () { return __awaiter(void 0, void 0, void 0, function () {
133
+ var result, price;
134
+ var _a;
135
+ return __generator(this, function (_b) {
136
+ switch (_b.label) {
137
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
138
+ currentPricing: (_a = {}, _a[farDate] = basePrice, _a),
139
+ dynamicPricing: baseDynamicPricing(),
140
+ existingBasePriceMap: {},
141
+ company: mockCompany,
142
+ })];
143
+ case 1:
144
+ result = _b.sent();
145
+ price = result.updatedPricing[farDate];
146
+ expect(price).toBeGreaterThanOrEqual(basePrice);
147
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4));
148
+ return [2 /*return*/];
149
+ }
150
+ });
151
+ }); });
152
+ it('maximizes price with 1 room left and date is far', function () { return __awaiter(void 0, void 0, void 0, function () {
153
+ var result, price;
154
+ var _a;
155
+ return __generator(this, function (_b) {
156
+ switch (_b.label) {
157
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
158
+ currentPricing: (_a = {}, _a[farDate] = basePrice, _a),
159
+ dynamicPricing: baseDynamicPricing(),
160
+ existingBasePriceMap: {},
161
+ company: mockCompany,
162
+ })];
163
+ case 1:
164
+ result = _b.sent();
165
+ price = result.updatedPricing[farDate];
166
+ expect(price).toBeGreaterThanOrEqual(basePrice);
167
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.5));
168
+ return [2 /*return*/];
169
+ }
170
+ });
171
+ }); });
172
+ it('slightly increases price with 100% availability and date is near', function () { return __awaiter(void 0, void 0, void 0, function () {
173
+ var result, price;
174
+ var _a;
175
+ return __generator(this, function (_b) {
176
+ switch (_b.label) {
177
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
178
+ currentPricing: (_a = {}, _a[nearDate] = basePrice, _a),
179
+ dynamicPricing: baseDynamicPricing(),
180
+ existingBasePriceMap: {},
181
+ company: mockCompany,
182
+ })];
183
+ case 1:
184
+ result = _b.sent();
185
+ price = result.updatedPricing[nearDate];
186
+ expect(price).toBeGreaterThanOrEqual(basePrice);
187
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.2));
188
+ return [2 /*return*/];
189
+ }
190
+ });
191
+ }); });
192
+ it('strongly increases price with 50% availability and date is near', function () { return __awaiter(void 0, void 0, void 0, function () {
193
+ var result, price;
194
+ var _a;
195
+ return __generator(this, function (_b) {
196
+ switch (_b.label) {
197
+ case 0: return [4 /*yield*/, (0, dynamicPricingService_1.calculateDynamicPricing)({
198
+ currentPricing: (_a = {}, _a[nearDate] = basePrice, _a),
199
+ dynamicPricing: baseDynamicPricing(),
200
+ existingBasePriceMap: {},
201
+ company: mockCompany,
202
+ })];
203
+ case 1:
204
+ result = _b.sent();
205
+ price = result.updatedPricing[nearDate];
206
+ expect(price).toBeGreaterThanOrEqual(basePrice);
207
+ expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4));
208
+ return [2 /*return*/];
209
+ }
210
+ });
211
+ }); });
212
+ });
199
213
  //# 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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"}
@@ -260,7 +260,9 @@ var getServicesCost = function (booking, company) {
260
260
  return sum + totalExternalBookingServiceCost;
261
261
  }
262
262
  var accommodationCost = (0, exports.getAccommodationCost)(__assign(__assign({}, booking), { roomBookings: [roomBooking] })) - (0, exports.getChildrenCost)(booking, company);
263
- var finalPrice = accommodationCost + (0, exports.getLengthOfStayDiscount)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }), company);
263
+ var finalPrice = roomBooking.disableDiscounts
264
+ ? accommodationCost
265
+ : accommodationCost + (0, exports.getLengthOfStayDiscount)(__assign(__assign({}, booking), { roomBookings: [roomBooking] }), company);
264
266
  var bookingServiceCost = finalPrice * (amount / 100);
265
267
  return sum + bookingServiceCost;
266
268
  }, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ 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, period, holidayDateSet, _i, period_1, dateStr, date, current, baseForToday, isAffectedHoliday, increase, rawPrice;
58
58
  var _c;
59
59
  var currentPricing = _b.currentPricing, dynamicPricing = _b.dynamicPricing, existingBasePriceMap = _b.existingBasePriceMap, company = _b.company;
60
60
  return __generator(this, function (_d) {
@@ -68,27 +68,31 @@ var calculateDynamicPricing = function (_a) { return __awaiter(void 0, [_a], voi
68
68
  (0, moment_1.default)(h.date).format('YYYY-MM-DD'),
69
69
  (0, moment_1.default)(h.date).add(1, 'day').format('YYYY-MM-DD'),
70
70
  ]; }));
71
+ if (!dynamicPricing.isActive) {
72
+ return [2 /*return*/, {
73
+ updatedPricing: currentPricing,
74
+ updatedBasePriceMap: basePriceMap,
75
+ }];
76
+ }
71
77
  for (_i = 0, period_1 = period; _i < period_1.length; _i++) {
72
78
  dateStr = period_1[_i];
73
79
  date = (0, moment_1.default)((0, dateService_1.normalizeDate)(dateStr));
74
80
  if (!date.isValid())
75
81
  continue;
76
82
  current = currentPricing[dateStr];
77
- if (dynamicPricing.isActive && !(dateStr in basePriceMap) && current != null) {
83
+ if (!(dateStr in basePriceMap) && typeof current === 'number') {
78
84
  basePriceMap[dateStr] = current;
79
85
  }
80
86
  baseForToday = basePriceMap[dateStr];
81
87
  isAffectedHoliday = holidayDateSet.has(dateStr);
82
- if (dynamicPricing.isActive && isAffectedHoliday) {
83
- rawPrice = baseForToday + ((_c = dynamicPricing.amount) !== null && _c !== void 0 ? _c : Math.round(baseForToday * 0.05));
84
- if (rawPrice > baseForToday + 70) {
85
- rawPrice = baseForToday + 70;
86
- }
87
- resultPricing[dateStr] = Math.round(rawPrice);
88
- }
89
- else {
90
- resultPricing[dateStr] = baseForToday;
88
+ if (!isAffectedHoliday || baseForToday == null) {
89
+ resultPricing[dateStr] = baseForToday !== null && baseForToday !== void 0 ? baseForToday : current;
90
+ continue;
91
91
  }
92
+ increase = (_c = dynamicPricing.amount) !== null && _c !== void 0 ? _c : Math.round(baseForToday * 0.05);
93
+ increase += 10;
94
+ rawPrice = Math.min(baseForToday + increase, baseForToday + 70);
95
+ resultPricing[dateStr] = Math.round(rawPrice);
92
96
  }
93
97
  return [2 /*return*/, {
94
98
  updatedPricing: resultPricing,
@@ -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,EAU7C;;;QATC,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,oBAAoB,0BAAA,EACpB,OAAO,aAAA;;QAUD,YAAY,yBAAQ,cAAc,CAAC,SAAS,GAAK,oBAAoB,CAAE,CAAA;QACvE,aAAa,GAAyC,EAAE,CAAA;QAExD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEpC,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACrB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,oBAAoB,EAAtB,CAAsB,CAAC;aACrC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA;YACd,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACtD,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACnC,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;SAClD,EAJe,CAIf,CAAC,CACL,CAAA;QAED,WAA4B,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE,CAAC;YAApB,OAAO;YACV,IAAI,GAAG,IAAA,gBAAM,EAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC,CAAA;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBAAE,SAAQ;YAEvB,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;YAEvC,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC7E,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;YACjC,CAAC;YAEK,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACpC,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAErD,IAAI,cAAc,CAAC,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAC7C,QAAQ,GAAG,YAAY,GAAG,CAAC,MAAA,cAAc,CAAC,MAAM,mCAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAA;gBAExF,IAAI,QAAQ,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC;oBACjC,QAAQ,GAAG,YAAY,GAAG,EAAE,CAAA;gBAC9B,CAAC;gBAED,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/C,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAA;YACvC,CAAC;QACH,CAAC;QAED,sBAAO;gBACL,cAAc,EAAE,aAAa;gBAC7B,mBAAmB,EAAE,YAAY;aAClC,EAAA;;KACF,CAAA;AA3DY,QAAA,uBAAuB,2BA2DnC"}
1
+ {"version":3,"file":"dynamicPricingService.js","sourceRoot":"","sources":["../../../src/services/dynamicPricingService/dynamicPricingService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAE3B,0DAA0D;AAEnD,IAAM,uBAAuB,GAAG,iEAAO,EAU7C;;;QATC,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,oBAAoB,0BAAA,EACpB,OAAO,aAAA;;QAUD,YAAY,yBAAQ,cAAc,CAAC,SAAS,GAAK,oBAAoB,CAAE,CAAA;QACvE,aAAa,GAAyC,EAAE,CAAA;QAExD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAEpC,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACrB,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,oBAAoB,EAAtB,CAAsB,CAAC;aACrC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA;YACd,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACtD,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACnC,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;SAClD,EAJe,CAIf,CAAC,CACL,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC7B,sBAAO;oBACL,cAAc,EAAE,cAAc;oBAC9B,mBAAmB,EAAE,YAAY;iBAClC,EAAA;QACH,CAAC;QAED,WAA4B,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE,CAAC;YAApB,OAAO;YACV,IAAI,GAAG,IAAA,gBAAM,EAAC,IAAA,2BAAa,EAAC,OAAO,CAAC,CAAC,CAAA;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBAAE,SAAQ;YAEvB,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;YAEvC,IAAI,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9D,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;YACjC,CAAC;YAEK,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACpC,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAErD,IAAI,CAAC,iBAAiB,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC/C,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,OAAO,CAAA;gBAChD,SAAQ;YACV,CAAC;YAEG,QAAQ,GAAG,MAAA,cAAc,CAAC,MAAM,mCAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;YACvE,QAAQ,IAAI,EAAE,CAAA;YAER,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,EAAE,YAAY,GAAG,EAAE,CAAC,CAAA;YAErE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;QAED,sBAAO;gBACL,cAAc,EAAE,aAAa;gBAC7B,mBAAmB,EAAE,YAAY;aAClC,EAAA;;KACF,CAAA;AAjEY,QAAA,uBAAuB,2BAiEnC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyper.software/common-helpers",
3
- "version": "2.2.70",
3
+ "version": "2.2.71",
4
4
  "author": "Raul Tomescu <tomescu.raul+hyper@gmail.com>",
5
5
  "description": "Hyper Software Common Javascript Helpers",
6
6
  "main": "lib/index.js",